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

关于Dapper的使用笔记2

时间:2014-11-27 20:05:12      阅读:198      评论:0      收藏:0      [点我收藏+]

标签:des   io   ar   使用   sp   on   数据   bs   cti   

 

public class t_SoDtl
{
[System.ComponentModel.Description("KeySeq")]
public Guid ID { get; set; } //数据库中的列名KeySeq

[System.ComponentModel.Description("SoKeySeq")]
public Guid SoKeySeq { get; set; }

[System.ComponentModel.Description("ItemId")]
public string ItemNo { get; set; }

[System.ComponentModel.Description("ItemName")]
public string ItemName { get; set; }

[System.ComponentModel.Description("Price")]
public decimal Price { get; set; }

[System.ComponentModel.Description("Qty")]
public decimal Quality { get; set; }//数据库中的列名Qty

[System.ComponentModel.Description("Amount")]
public decimal Amount { get; set; }
}

SqlMapper.ITypeMap ---> CustomPropertyTypeMap

//建立自定义映射
var map = new CustomPropertyTypeMap(typeof(t_SoDtl),
(type, columnName) => type.GetProperties()
.Where(prop => prop.GetCustomAttributes(false).OfType<DescriptionAttribute>().Any(attr => attr.Description == columnName)) //找出Decsription = Column的属性
.FirstOrDefault());

Dapper.SqlMapper.SetTypeMap(typeof(t_SoDtl), map);

//查询
DbConnection con = this.GetConnection();
return con.Query<t_SoDtl>("select * from dbo.t_SoDtl where SoKeySeq = @SoKeySeq", new {SoKeySeq = soKeySeq}).ToList();

//插入 (注意参数的名称与实体属性的对应)
string strSQL = @"
INSERT INTO dbo.t_so(KeySeq,SoNo,SoDate,CustomerName,Remark)
VALUES(@KeySeq,@SoNo,@SoDate,@CustomerName,@Remark)";
DbConnection con = this.GetConnection();
//con.Execute(strSQL, new {KeySeq = so.KeySeq, SoNo = so.SoNo, SoDate = so.SoDate, CustomerName = so.CustomerName, Remark = so.Remark});
con.Execute(strSQL, so);

关于Dapper的使用笔记2

标签:des   io   ar   使用   sp   on   数据   bs   cti   

原文地址:http://www.cnblogs.com/shi5588/p/4126873.html

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