华为OpenGauss/ .NET GaussDB .NET操作

功能成熟

已经有大量用户成功完成了项目,sqlsugar针对GaussDB 做了多处理。

连接字符串

用法和PGSQL一样 ,唯一区别 在连接字符串 后面加上No Reset On Close=true

PORT=5432;DATABASE=SqlSugar4xTest;HOST=localhost;PASSWORD=haosql;USER ID=postgres;No Reset On Close=true

SqlSugar ORM用法

Nuget安装:SqlSugarCore

var db=new SqlSugarClient(new ConnectionConfig()
            {
                DbType = SqlSugar.DbType.GaussDB ,//或者OpenGauss
                ConnectionString = Config.ConnectionString,
                IsAutoCloseConnection = true 
            });

配置GaussDB(OpenGauss) 支持.NET 

注意:在.NET中我们要修改一下加密方式才能使用 

3个步骤一个不能少,依次按顺序操作

1.password_encryption_type=1 同时支持sha256和md5多重验证

2.重启服务

3.重新修改密码

详细说明: https://www.donet5.com/ask/9/21149

GaussDB(OpenGauss) 操作数据库

GaussDB 查询

db.Queryable<Student>().ToList()//查询所有
db.Queryable<Student>().Where(it=>it.Id==1).ToList()//根据条件查询
//分页  int pageIndex = 1; // pageindex是从1开始的不是从零开始的
int pageSize = 20;
int totalCount=0;
//单表分页
var page = db.Queryable<Student>().ToPageList(pageIndex, pageSize, ref totalCount);

GaussDB插入

//返回插入行数
db.Insertable(insertObj).ExecuteCommand(); //都是参数化实现 
//插入返回自增列
db.Insertable(insertObj).ExecuteReturnIdentity(); 
//返回雪花ID 看文档3.1具体用法(在最底部)
long id= db.Insertable(实体).ExecuteReturnSnowflakeId();

GaussDB使用Sql

var dt=db.Ado.GetDataTable("select * from table where id=@id and name like @name",
new{id=1,name="%"+jack+"%"});

//原生SQL用实体 sql 查询
List<ClassA> t=db.Ado.SqlQuery<ClassA>(sql);

更多用法看左边菜单

数据类型和C#对照表

数据类型可以按下面的使用

GaussDBC#
numericdecimal
int2short
int1byte
int4int
int8long
booleanboolean
float4float
float8double
TEXT大文本
jsonC#可序列化的对象 特性要加IsJson=true
timestampDateTime
dateDateTime
timeTimeSpan
uuidGuid
bytes/bytea 目前bytes是确定支持Byte[]

架构用法(SCHEMA)

searchpath=架构名 ,注意不要有空格

PORT=9210;searchpath=zhnf;DATABASE=db_test;HOST=192.168.1;PASSWORD=abc;USER ID=joe;No Reset On Close=true;

禁用自动转小写

表名或者字段名存在大写的行情况,我们可以禁止转小写 (默认是推荐用小写表的

var db= new SqlSugarClient(new ConnectionConfig(){
           DbType = SqlSugar.DbType.PostgreSQL,
           ConnectionString = Config.ConnectionString,
           IsAutoCloseConnection = true,
           MoreSettings= new ConnMoreSettings()
           {
             PgSqlIsAutoToLower = false,//CRUD不自动转小写
             PgSqlIsAutoToLowerCodeFirst = false, // 建表 不自动转小写
           }})


关闭
果糖网