簡體   English   中英

實體框架按約定忽略屬性

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

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