ORM框架--Dapper
Posted liuchangxu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 { 3 public bool Delete(string id) 4 { 5 var sql = $"delete from [{typeof(T).Name}] where Id=@id"; 6 return DapperHelper.Delete(sql, id); 7 } 8 9 public T GetModel(string id) 10 { 11 var sql = $"select * from [{typeof(T).Name}] where Id=@id"; 12 13 return DapperHelper.GetModel<T>(sql, new { id = id }); 14 } 15 16 public List<T> GetModelList() 17 { 18 var sql = $"select * from [{typeof(T).Name}] "; 19 20 return DapperHelper.GetModelList<T>(sql, null); 21 } 22 23 }
看完写法基本跟传统sql语句没有区别,非常适合喜欢写sql语句。
如果感觉这种写法不适合可以在引用DapperExtensions Nuget包
1 public class BaseRepository<T> : IBaseRepository<T> where T : class 2 { 3 public bool Insert(T model) 4 { 5 return DapperHelper.Insert(model); 6 } 7 8 public T Get(object id) 9 { 10 return DapperHelper.Get<T>(id); 11 } 12 13 public List<T> GetList(object para, List<ISort> sort) 14 { 15 return DapperHelper.GetList<T>(para, sort); 16 } 17 18 19 }
这种写法直接传实体Model就可以,非常方便!
以上是关于ORM框架--Dapper的主要内容,如果未能解决你的问题,请参考以下文章