[英]Dapper ignore property runtime
有沒有一種方法可以忽略屬性在運行時中的映射。 因為我不知道數據庫是否具有特定的列,所以在插入之前必須檢查它。 如果數據庫沒有列,那么我想忽略這一特定屬性。
更新:
這是我的插入代碼
public static void Insert(string connectionString, T entity)
{
using (var connection = new SqlConnection(connectionString))
{
connection.Open();
connection.Insert(entity);
}
}
該Insert
方法是Dapper.Contrib的一部分,而不是Dapper本身。 正如該庫的自述文件所述,您可以使用[Write(false)]
屬性來指定屬性不可寫,例如:
public class MyClass
{
public int ID {get;set;}
public DateTime Created{get;set;}
[Write(false)]
public DateTime CreatedDate =>Created.Date;
}
源代碼顯示Dapper.Contrib只是忽略了不可寫的屬性 :
var properties = type.GetProperties().Where(IsWriteable).ToArray();
Dapper是microORM,它不提供EF或NHibernate等完整ORM中提供的映射功能。 Dapper.Contrib通過5個屬性添加了一些輔助方法和非常基本的映射:
[Table("Tablename")]
指定表名 [Key]
標記自動生成的關鍵字段 [ExplicitKey]
標記不是自動生成的字段 [Write(true/false)]
標記(非)可寫屬性 [Computed]
標記計算的屬性。 例如,無法指定列名
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.