簡體   English   中英

如何忽略Dapper中的一些屬性?

[英]How ignore some properties in Dapper?

我有一個像這樣的簡單類:

public class User
{
    public Guid Id{ get; set; }
    public string UserName { get; set; }
    public byte[] RowVersion { get; set; }
}

Db tabale中的Rowversion列獲取自動值。當我使用dapper進行Inser時

var result = db.Execute("[dbo].[User_Insert]", user, trans,commandType:CommandType.StoredProcedure);

Dapper為所有屬性生成參數,我得到這樣的錯誤

過程或函數User_Insert指定了太多參數。

如何在Dapper參數中忽略Rowversion?

我的程序代碼是:

 ALTER PROCEDURE [In4].[User_Insert] 
       @Id         uniqueidentifier,
       @UserName    nvarchar(4000)= NULL   
AS 
BEGIN
   insert into [In4].[Users] ([Id], [UserName])
                 VALUES (@Id, @UserName) 
End

您可以傳入一個只包含所需屬性的匿名對象。

var result = db.Execute("[dbo].[User_Insert]", new { user.Id, user.UserName }, trans, commandType:CommandType.StoredProcedure);

或者,您可以使用Dapper Contrib擴展並創建一個映射類,它允許您忽略特定屬性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM