[英]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.