前言:近期要用多款数据库,所以需要使用ORM来协助自动生成实体类和根据实体类生成数据库和表结构到多个不同数据库进行替代。于是了解到了SqlSugar,发现挺好用,除了华为opengauss数据库还有点问题,其他常见数据库和国产数据库都支持的挺好。顺便弄个DbFirst和CodeFirst穿插的入门教程,供参考。

1、创建一个类库项目,选择 .net standard 2.1版本

编辑切换为居中

添加图片注释,不超过 140 字(可选)

2、引用最新版sqlsugarcore

编辑切换为居中

添加图片注释,不超过 140 字(可选)

3、新增一个存放连接数据库的连接实体类,由于可能存在多个数据库,此处做成了字典来存放。

编辑切换为居中

添加图片注释,不超过 140 字(可选)

4、创建一个连接工厂配置类,用于自定义连接哪些数据库使用。把常用的数据库类型都定义上,备用。

编辑切换为居中

添加图片注释,不超过 140 字(可选)

5、再定义接口,用于后面实现依赖注入使用

编辑切换为居中

添加图片注释,不超过 140 字(可选)

6、创建一个webapi项目,用来做测试验证使用

编辑切换为居中

添加图片注释,不超过 140 字(可选)

7、在项目里面,新建一个DBModels备用,用来存放数据库实体类使用。并且在配置文件内,新增一个配置项,用来配置数据库连接,先配置一个Oracle数据库进行测试

编辑切换为居中

添加图片注释,不超过 140 字(可选)

8、添加一个简易版的读取appsettings内容的包:Wesky.Extensions.AppsettingsExtension

编辑切换为居中

添加图片注释,不超过 140 字(可选)

9、创建一个启动执行代码类,用来当程序启动的时候,读取配置文件内容进行初始化使用

编辑切换为居中

添加图片注释,不超过 140 字(可选)

10、在program启动项里面,进行有关的服务注册

编辑切换为居中

添加图片注释,不超过 140 字(可选)

11、新增一个用来生成数据库或者实体类的操作类。例如现在已有一个数据库,要生成实体类,配置要生成的路径以及规则,例如大小写等。

编辑切换为居中

添加图片注释,不超过 140 字(可选)

12、补全接口定义

编辑切换为居中

添加图片注释,不超过 140 字(可选)

13、新增一个api控制器,用来测试使用

编辑切换为居中

添加图片注释,不超过 140 字(可选)

14、新增一个api,通过传入name值(对应配置文件内DB数组里面的Name),来生成实体类的测试demo

编辑切换为居中

添加图片注释,不超过 140 字(可选)

15、该数据库已有一系列表结构有关

编辑

添加图片注释,不超过 140 字(可选)

16、输入上面配置文件的Name值,进行测试

编辑切换为居中

添加图片注释,不超过 140 字(可选)

17、运行成功,在指定目录下生成了有关表结构对应的实体类

编辑切换为居中

添加图片注释,不超过 140 字(可选)

18、通过生成的实体类,反向生成数据库。新增操作根据不同数据库配置生成数据库和表结构有关

编辑切换为居中

添加图片注释,不超过 140 字(可选)

19、新增配置项,例如mysql数据库,为了方便辨识,数据库名称为 wwwwwwwwwwesky

编辑切换为居中

添加图片注释,不超过 140 字(可选)

20、新增api接口,用来根据已有实体类,反向生成数据库。包括俩参数,Name对应的是配置文件里面的Name,fromModel对应的是代码文件夹所在的实体类文件夹名称,或者命名空间

编辑切换为居中

添加图片注释,不超过 140 字(可选)

21、启动程序,输入api参数进行测试。第二个参数值和代码本地OraModel文件夹对应(如果是其他目录,则填写其他)

编辑切换为居中

添加图片注释,不超过 140 字(可选)

22、mysql会自动生成指定的数据库,以及对应的表结构

编辑切换为居中

添加图片注释,不超过 140 字(可选)

23、再测试一下kingbase数据库,在配置文件内新增连接信息

编辑切换为居中

添加图片注释,不超过 140 字(可选)

24、先确认下,kingbase内目前没有有关数据库。kingbase内核是postgresql,所以理论上也是支持自动创建指定数据库的。

编辑切换为居中

添加图片注释,不超过 140 字(可选)

25、同操作mysql数据库一样,运行程序,启动一下进行测试。可以发现生成了有关数据库,并自动生成了有关表结构

编辑切换为居中

添加图片注释,不超过 140 字(可选)

编辑

添加图片注释,不超过 140 字(可选)

26、如需以上测试demo源码,可在公众号【Dotnet Dancer】进入后台回复【ORM入门】进行获取。

原文链接:【ORM】SqlSugar ORM初体验

Logo

鲲鹏昇腾开发者社区是面向全社会开放的“联接全球计算开发者,聚合华为+生态”的社区,内容涵盖鲲鹏、昇腾资源,帮助开发者快速获取所需的知识、经验、软件、工具、算力,支撑开发者易学、好用、成功,成为核心开发者。

更多推荐