转自:http://www.cnblogs.com/huangkaiyan10/p/4640548.html

项目背景

     前一段时间,开始做一个项目,在考虑数据访问层是考虑技术选型,考虑过原始的ADO.NET、微软的EF、NH等。再跟经理讨论后,经理强调不要用Ef,NH做ORM,后期的sql优化不好做,公司也没有人对EF,Nh 等orm优化比较熟悉的。强调说的,我们的项目要做的得简单,可以使用ADO.NET 写原始的sql。但我自己还是喜欢ORM的,它可以提高数据访问层的开发。有一天,在订阅张善友 doNet跨平台微信公众号里,看到Dapper的推荐。了解之后,我自己喜欢喜欢Dapper,可以满足我这个项目的经理的要求,同时Dapper 对数据库的访问能做到Ado.net一样快。

  下面的链接是Dapper 在github的地址  https://github.com/StackExchange/dapper-dot-net。

  使用 Dapper 进行简单增删改查示例

   1、首先根据数据库表定义实体对象, 这个工作完全可以使用T4、Nvelocity或者RazorEngine 写一个代码生成器根据数据库表对象自动生成数据库表实体对象。这里我自己根据表写了一个对象

  

使用轻量级ORM Dapper进行增删改查(转载)
 1    [Table("UserRole")]
 2    public class UserRoleDbEntity:DbEntityModelBase
 3     {
 4         [Description("用户编号,来自用户表")]
 5         public int UserId
 6         {
 7             get;
 8             set;
 9         }
10 
11        [Description("角色编号,来自于角色表")]
12         public int RoleId
13         {
14             get;
15             set;
16         }
17         /// <summary>
18         /// 备注:AuthorityEnum.AuthorityValue 的取值范围是根据 AuthorityEnum位运算 或 与 的结果集;不可随意赋值
19         /// </summary>
20         [Description("权限值")]
21         public int AuthorityValue { get; set; }
22 
23         /// <summary>
24         /// 根据 AuthorityEnum 枚举值生成的描述
25         /// </summary>
26         [Description("权限描述")]
27         public string AuthorityDescription { get; set; }
28     }
29 
30     /// <summary>
31     /// 所有DbEntityModel项目中的实体必须继承DbEntityModelBase或其子类,使用supperType模式控制共有子类的行为或者状态,此项目中的类根据数据库基本表或者视图保持基本一致
32     /// </summary>
33    public abstract class DbEntityModelBase
34     {
35         [Description("Guid标识")]
36         public string GuidMark
37         {
38             get;
39             set;
40         }
41         [Description("自增Id列")]
42         public int Id
43         {
44             get;
45             set;
46         }
47        [Description("排序,倒序")]
48         public int Sort
49         {
50             get;
51             set;
52         }
53     }
使用轻量级ORM Dapper进行增删改查(转载)

相关文章:

  • 2021-12-18
  • 2021-10-04
  • 2021-04-24
  • 2019-02-15
  • 2021-05-31
猜你喜欢
  • 2021-12-21
  • 2021-05-11
  • 2022-01-22
  • 2022-12-23
  • 2022-01-11
  • 2022-12-23
  • 2021-11-30
相关资源
相似解决方案