丫丫小强的个人博客 丫丫小强的个人博客

使用轻量级ORM Dapper进行增删改查

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

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

[Table("UserRole")]
public class UserRoleDbEntity:DbEntityModelBase
{
	[Description("用户编号,来自用户表")]
	public int UserId
	{
		get;
		set;
	}

    [Description("角色编号,来自于角色表")]
	public int RoleId
	{
		get;
		set;
	}
	
	
	/// <summary>
	/// 备注:AuthorityEnum.AuthorityValue 的取值范围是根据 AuthorityEnum位运算 或 与 的结果集;不可随意赋值
	/// </summary>
	[Description("权限值")]
	public int AuthorityValue 
	{ 
		get; 
		set; 
	}


	/// <summary>
	/// 根据 AuthorityEnum 枚举值生成的描述
	/// </summary>
	[Description("权限描述")]
	public string AuthorityDescription 
	{ 
	  get; 
	  set; 
	}
}

    
/// <summary>
/// 所有DbEntityModel项目中的实体必须继承DbEntityModelBase或其子类,使用supperType模式控制共有子类的行为或者状态,此项目中的类根据数据库基本表或者视图保持基本一致
/// </summary>
public abstract class DbEntityModelBase
{
	[Description("Guid标识")]
	public string GuidMark
	{
		get;
		set;
	}
	
	[Description("自增Id列")]
	public int Id
	{
		get;
		set;
	}
	
   [Description("排序,倒序")]
	public int Sort
	{
		get;
		set;
	}
}

在DAL层就可以使用实体对象传参 或者作为返回值