關於Dapper的使用筆記2

來源:互聯網
上載者:User

標籤: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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.