簡體   English   中英

Dapper忽略屬性運行時

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

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