[英]Entity Framework Ignore property by conventions
我有一個代碼優先模型,其中所有實體都派生自Entity
基類。 我在基類中有一個屬性IsDeleted
,我想在所有實體中忽略(我不能刪除/注釋IsDeleted屬性,因為在許多項目中使用了基類)。 有沒有辦法配置modelBuilder
來忽略所有實體的這個屬性(通過慣例,我認為),而不指定modelBuilder.Entity<...>().Ignore(l => l.IsDeleted)
來自我的所有實體模型?
謝謝,離子
您可以使用新的EF 6.1 自定義代碼優先約定執行此操作:
modelBuilder.Types().Configure(c => c.Ignore("IsDeleted"));
這將忽略任何類型中IsDeleted
名稱的任何屬性。
如果您只想為繼承某個基類的類執行此操作,則可以執行以下操作:
modelBuilder.Types()
.Where(t => t.IsSubclassOf(typeof(MyBaseClass)))
.Configure(c => c.Ignore("IsDeleted"));
您可以在屬性上使用[NotMapped]
注釋,但仍然需要為每個實體添加,這與僅指定一次並具有忽略它的約定不同。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.