登山则情满于山,观海则意溢于海。这篇文章主要讲述ORM框架--Dapper相关的知识,希望能为你提供帮助。
一、什么是Dapper?
Dapper是一款轻量级Orm框架,它是属于半自动的,它和Entity Framework和NHibernate不同,它只有一个单文件,没有很复杂的配置,如果你喜欢原生Sql语句,而且又是喜欢Orm框架,那么Dapper对于你来说是再适合不过了。
二、Dapper优点
我也是刚开始学习Dapper,可能也就还没真正去体验到带来的好。所以我也是抱着学习的态度,去参考一些大佬给它总结的优点:
1、轻量级、单文件。
2、支持多数据,而且性能优越。
3、Dapper原理通过Emit反射IDataReader的序列队列,来快速的得到和产生对象。
三、演示
我们需要在我们项目中添加Dapper
Nuget包,然后点击安装就可以了。
1 public class BaseRepository< T> : IBaseRepository< T> where T : class 2{ 3public bool Delete(string id) 4{ 5var sql = $"delete from [{typeof(T).Name}] where Id=@id"; 6return DapperHelper.Delete(sql, id); 7} 8 9public T GetModel(string id) 10{ 11var sql = $"select * from [{typeof(T).Name}] where Id=@id"; 12 13return DapperHelper.GetModel< T> (sql, new { id = id }); 14} 15 16public List< T> GetModelList() 17{ 18var sql = $"select * from [{typeof(T).Name}] "; 19 20return DapperHelper.GetModelList< T> (sql, null); 21} 22 23}
看完写法基本跟传统sql语句没有区别,非常适合喜欢写sql语句。
如果感觉这种写法不适合可以在引用DapperExtensions Nuget包
1 public class BaseRepository< T> : IBaseRepository< T> where T : class 2{ 3public bool Insert(T model) 4{ 5return DapperHelper.Insert(model); 6} 7 8public T Get(object id) 9{ 10return DapperHelper.Get< T> (id); 11} 12 13public List< T> GetList(object para, List< ISort> sort) 14{ 15return DapperHelper.GetList< T> (para, sort); 16} 17 18 19}
这种写法直接传实体Model就可以,非常方便!
【ORM框架--Dapper】
推荐阅读
- Android File存储(文件的存储路径)
- Android开发(JavaDoc注释插件简单使用介绍)
- Android开发 在不使用ItemTouchHelper的情况下实现ItemView的左右滑动
- Android - Thread Handler HandlerThread Looper MessageQueue理解
- whatsapp 印度使用 无法登陆 显示时钟 无法连接 无网络 解决办法 时间不对 调整 上不了
- Android ListView 的使用 Kotlin
- MybatisPlus-通用Mapper
- APP 开发从 0 到 1需求与准备
- Automapper忽略映射某字段的映射写法