首页 > 编程语言 >.NET中使用 openGauss C# ORM

.NET中使用 openGauss C# ORM

时间:2024-04-30 22:44:27浏览次数:27  
标签:C# GaussDB db id ORM new NET openGauss

openGauss(GaussDB )

openGauss是一款全面友好开放,携手伙伴共同打造的企业级开源关系型数据库。openGauss采用木兰宽松许可证v2发行,提供面向多核架构的极致性能、全链路的业务、数据安全、基于AI的调优和高效运维的能力。openGauss深度融合华为在数据库领域多年的研发经验

 

连接字符串

用法和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.PostgreSQL,//选用PGSQL驱动
                ConnectionString = Config.ConnectionString,
                IsAutoCloseConnection = true 
            });

GaussDB(OpenGauss) .NET中数据库配置

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

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

2.重启服务

3.重新修改密码

详细说明: SQLSugar连接openGauss 出现Received AuthenticationSASL message

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);

更多用法

华为OpenGauss/ .NET GaussDB .NET操作

 

标签:C#,GaussDB,db,id,ORM,new,NET,openGauss
From: https://www.cnblogs.com/sunkaixuan/p/18168829

相关文章

  • THUSC2024 & APIO2024 游记
    第二次联赛以上的比赛。Day-nlxs突然通知:从五月七日开始要去镇海中学集训......
  • 239. 滑动窗口最大值(leetcode)
    https://leetcode.cn/problems/sliding-window-maximum/简单的滑动窗口,但是与ACM模式的维护数组不同,在leetcode定义单调队列类更加方便classMyQueue{//单调队列实现,递减Deque<Integer>deque=newLinkedList<>();voidpoll(intval){if(!deque......
  • CentOS7 磁盘挂载操作
    我们在使用CentOS7时,一般最好把数据都存放在额外挂载的磁盘上,优点就是防止系统磁盘爆满,以及防止数据丢失。目前使用的Linux操作系统,也绝大部分与CentOS7的操作命令一样,包括一些国产Linux系统。因此本篇博客以CentOS7为例,通过vm虚拟机,介绍如何通过命令操作,挂载一块新......
  • C/C++如何写调试宏
    1.调试宏以及测试在写代码时,不可避免需要打印提示、警告、错误等信息,且要灵活控制打印信息的级别。另外,还有可能需要使用宏来控制代码段(主要是调试代码段)是否执行。为此,本文提供一种调试宏定义方案,包括打印字符串信息LOG1宏和格式化打印LOG2宏,且能通过宏控制代码段执行。完整代......
  • nacos服务治理总结
    1、注解<!--nacos服务注册发现--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency><!--OKhttp的依赖--><dependency>......
  • 使用ChatGPT自动构建知识图谱
    1.概述本文将探讨利用OpenAI的gpt-3.5-turbo从原始文本构建知识图谱,通过LLM和RAG技术实现文本生成、问答和特定领域知识的高效提取,以获得有价值的洞察。在开始前,我们需要明确一些关键概念。2.内容2.1什么是知识图谱?知识图谱是一种语义网络,它表示和连接现实世界中的实体,如人物......
  • 多线程TCP的一些问题
    使用循环堵塞等待客户端连接,连接到一个就开一条线程,当用以下代码,即每次ad重新初始化后其地址作为实参进行线程的创建,结果就是当有新客户端连接,开了新线程时,旧线程看起来会被停止,实际上是因为ad用了地址而不是值作为实参,所以当新连接进来时,ad的值被更改,但地址不变,旧线程所使用的ad......
  • CentOS7上的Mysql8.3允许远程连接
    点击查看代码[root@clone2~]#mysql-uroot-pEnterpassword:WelcometotheMySQLmonitor.Commandsendwith;or\g.YourMySQLconnectionidis9Serverversion:8.3.0MySQLCommunityServer-GPLCopyright(c)2000,2024,Oracleand/oritsaffiliates......
  • 深入理解 Swift Combine
    Combine文中写一些Swift方法签名时,会带上label,如subscribe(_subscriber:),正常作为Selector的写法时会忽略掉label,只写作subscribe(_:),本文特意带上label以使含义更清晰。CombineFrameworkOverview在App运行过程中会发生各种各样的异步事件,如网络请求的返回,No......
  • ABC350
    Alink把最后三位取成数字,判断是否小于\(349\),大于\(1\),不等于\(316\)。点击查看代码#include<bits/stdc++.h>usingnamespacestd;chars[10];intans;signedmain(){ cin>>s+1; ans+=s[4]-48; ans*=10; ans+=s[5]-48; ans*=10; ans+=s[6]-48; ......