国产达梦数据库及在.Net 下的增删改查 .NET .ORM

摘要:
下面这段简介摘自百度百科达梦数据库是武汉华工达梦数据库有限公司推出的具有完全自主知识产权的高性能数据库产品。

一,简介

偶然看到了国产数据库——达梦数据库。顿时起了兴趣,捣鼓了一番。

下面这段简介摘自百度百科

达梦数据库是武汉华工达梦数据库有限公司推出的具有完全自主知识产权的高性能数据库产品。它采用“三权分立”的安全管理机制,安全级别达到B1级,并在大数据量存储管理、并发控制、数据查询优化处理、事务处理、备份与恢复和支持SMP系统等诸多方面都有突破性进展和提高。更多介绍:http://baike.baidu.com/view/581717.htm

达梦数据库有免费版和收费版(感觉国人就是有点急功近利)。

免费版下载地址:https://www.dameng.com/

有Windouws版和Linux版。

二,安装

我这里选择Windows版下载,当前版本6.2,UI还是做得很漂亮的。

安装过程很简单,一路“下一步”就行了:

2.1)选择语言版本

国产达梦数据库及在.Net 下的增删改查 .NET .ORM第1张

2.2)选择验证Key文件,免费版的下载包里提供了验证文件。

国产达梦数据库及在.Net 下的增删改查 .NET .ORM第2张

2.3)设置初始化参数

国产达梦数据库及在.Net 下的增删改查 .NET .ORM第3张

2.4)修改数据库口令(密码),当然也可以无视它。默认密码是: SYSDBA

国产达梦数据库及在.Net 下的增删改查 .NET .ORM第4张

三,使用

3.1)打开管“理工具Manager”登陆

国产达梦数据库及在.Net 下的增删改查 .NET .ORM第5张

输入安装时设置的口令,如果安装时没有修改口令,则输入初试默认口令“SYSDBA”

3.2)登陆进去后看到系统默认有两个数据库“SYSTEM”、“BOOKSHOP”。这里我自己新建了一个叫“Cnblogs”的数据库。新建很简单,和操作SQLServer差不多。

国产达梦数据库及在.Net 下的增删改查 .NET .ORM第6张

3.3)点开“cnblogs”节点,会发现,它不像SQLServer那样,下面直接是“表”、“视图”等。

它下面是“模式”,一个数据库可以有多个模式,模式下面才会有“表”、“视图”等等。

国产达梦数据库及在.Net 下的增删改查 .NET .ORM第7张

模式用来代表特定数据库中的一个对象集,在概念上可将其看作是包含表、视图、索引和权限定义的对象集合。一个模式只作用于一个数据库,不同的数据库可以有同名模式。

我在模式“SYSDBA”下面建了个“Users”表。

3.4)达梦SQL

因为达梦数据库有一个“模式”的概念,因此它的查询语句和SQLServer也有所不同,要在“表”前加上“模式”。如:

select*fromSYSDBA.Users

当然你也可以不加,直接像在SQLServer 里那样,写成

select*fromUsers

这时它会默认使用SYSDBA模式。

三、ORM操作达梦数据库

.net framework安装 sqlsugar

.net 5&.net core 安装sqlsugarcore

nuget只需要引用一个dll文件,开箱就用简单方便

1278533-20171125175246750-2063556376.png

四、连接字符串

更接近Oracle,更偏向自主研发,对开发人员友好度不如金仓

至于其它国产数据库基本上都和PgSql 99.9%一样,建议你们还是用人大金仓比较省心

连接字符串:

老版本 :PORT=5236;DATABASE=DAMENG;HOST=localhost;PASSWORD=SYSDBA;USER ID=SYSDBA

新版本: Server=localhost;UserId=SYSDBA;PWD=SYSDBA;DATABASE=新DB

五、CURD

创建数据库对象

 //创建数据库对象 SqlSugarClient   
 SqlSugarClient db = new SqlSugarClient(newConnectionConfig()
 {
            ConnectionString = "Server=.xxxxx",//连接符字串
            DbType = DbType.Dm, //设置为达梦
            IsAutoCloseConnection = true //不设成true要手动close
 });

查询

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

插入

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

删除

//单个实体
db.Deleteable<Student>().Where(new Student() { Id = 1}).ExecuteCommand();
 
//List<实体>
List<Student> list=new List<Student>(){
  new Student() { Id = 1}
};
db.Deleteable<Student>(list).ExecuteCommand(); //批量删除

更新

//根据主键更新单条 参数 Class
var result=db.Updateable(updateObj).ExecuteCommand();
 
 
//批量更新参数 List<Class>
var result= db.Updateable(updateObjs).ExecuteCommand();

源码:

https://github.com/donet5/SqlSugar

免责声明:文章转载自《国产达梦数据库及在.Net 下的增删改查 .NET .ORM》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇解决mysql中只能通过localhost访问不能通过ip访问的问题使用WebDAV实现Office文档在线编辑下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

C# SQLite 创建数据库的方法增删查改语法和命令

SQLite介绍   SQLite是一个开源、免费的小型RDBMS(关系型数据库),能独立运行、无服务器、零配置、支持事物,用C实现,内存占用较小,支持绝大数的SQL92标准。 SQLite数据库官方主页:http://www.sqlite.org/index.html   cmd下sqlite的使用网   1:选择下载对应自己系统的sqlite.3exe...

thinkphp3.2链接数据库常用的配置选项

thinkphp3.2常用配置选项,app/Common/Conf/config.php 或者 app/Home/Conf/config.php 1 2 3 4 5 6 7 8 'SHOW_PAGE_TRACE'=>true; //开启右下角的调试信息小图标,调试时使用 'DB_TYPE'=>'mysql', //数据库类型...

配置CNPM-基础案例

下面给出一个样例配置: JavaScript module.exports = { enableCluster: true, database: { db: "snpm", username: "username", password: "password", dialect: "mysql", host: "127.0.0.1", port: 3306...

转:Log Explorer使用说明恢复被误删除的数据

一、介绍 Log Explorer主要用于对MSSQLServer的事物分析和数据恢复。你可以浏览日志、导出数据、恢复被修改或者删除的数据(包括执行过update,delete,drop和truncate语句的表格)。一旦由于系统故障或者人为因素导致数据丢失,它能够提供在线快速的数据恢复,最大程度上保证恢复期间的其他事物不间断执行。 他可以支持SQLSer...

查看SQL-SERVER数据库及各个表的数据量及占用空间大小

1、查看某个数据库,直接执行存储过程sp_spaceused即可 exec sp_spaceused; 2、查看某个表,在存储过程后面加上表名即可 EXEC sp_spaceused '表名'; 3、查看该数据库中的所有表,可以写一个存储过程,然后执行即可 存储过程如下: -- =====================================...

NoSql数据库CounchDB的介绍

本文可以说是我看过的对 CouchDB 的最全面的介绍。 概述 CouchDB,大家或多或少都听说过。它到底有什么特性,适合哪些应用场景,和我们常用的关系型数据库有什么区别? 这些问题,可能我们心里都不是非常清楚。在以前的Blog中(PS,不是在javaeye哦),我提及了几次CouchDB,但是仅仅限于编译,安装这些浮在水面上的工作。今天抽出时间把最近...