码迷,mamicode.com
首页 > 移动开发 > 详细

.net core 3.1 加入ORM框架(Dapper)

时间:2020-03-19 15:08:22      阅读:1418      评论:0      收藏:0      [点我收藏+]

标签:记录   code   手动   声明   model   控制器   services   register   nta   

对比了几个主流的ORM框架如SqlSuger Dapper SmartSql , 选择Dapper 主要是个人习惯,平时写sql比较多,感觉Dapper比较符合自己风格

首先安装 Dapper

平时使用Mysql比较多,但是为了后续兼容SqlServer等其他数据库,先建一个DbFactory,用来管理数据库连接

技术图片

当然,因为DbFactory命名规则不一致,要手动注入

在Startup.cs 文件的ConfigureContainer 方法中加入一行代码:

builder.RegisterType<DbFactory>().As<IDbFactory>();

 

DbOption 类定义连接数据库参数

技术图片 技术图片

在Startup.cs文件的ConfigureServices方法中注入:
services.Configure<DbOption>(Configuration.GetSection("DbOption"));

 

 实际数据库相关参数记录在appsetting.json文件中

"DbOption": {
"ConnectionString": "server=127.0.0.1;database=leon;user=root;pwd=root;SslMode=none;",
"DbModel": "MySQL"
}

数据库及相关表自行创建

 配置好基本工作,接下来就是调用方法(BaseService可以先忽略,下面会讲到)

在构造函数中注入DbFactory,就可以调用了,Dapper的语法不了解的自行百度了

 

技术图片技术图片

 至此,Dapper的配置调用已经完成了。

考虑到每个对象会有很多相同的操作,例如获取列表,根据主键或许信息等,如果每次都手写太麻烦,因此考虑引入Dapper 扩展

安装 Dapper.SimpleCRUD

新建公共类BaseService(接口就不展示了)

注入DbFactory,声明DbConnection

技术图片

 

 

 在UserService 中继承BaseService,则可以继承BaseService中所有通用方法

Dapper定义实体类要注意,假设主键不是Id,应加入[Key]关键字

技术图片

 

控制器中就可以直接调用继承baseService的方法

 技术图片

技术图片

 

 

以上就是Dapper 的使用介绍,Dapper还有其他的扩展,有兴趣可以继续研究一下。

 

.net core 3.1 加入ORM框架(Dapper)

标签:记录   code   手动   声明   model   控制器   services   register   nta   

原文地址:https://www.cnblogs.com/redo/p/12524344.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!