实体框架代码优先 - 忽略完整实体

时间:2014-12-18 09:40:17

标签: ef-code-first entity

针对以下情况是否有简单的解决方案: 我有2 Dossier分享的实体DbContextsDossier有2个导航属性,DossierTypeDossierAttachment

  

档案

     

档案 - > DossierType(导航属性)

     

档案 - > DossierAttachment(导航属性)

我想在DossierType中排除DbContext1实体。我不希望它对数据库保持可用,不应该设置导航属性。

我期待着打电话

modelBuilder.Ignore<DossierType>(); 
DbContext1.OnModelCreating中的

就足够了。它应该确保我的导航属性DossierType没有被带入上下文&#39;。 但是它提供了以下例外:

  

导航属性&#39; DossierType&#39;不属于&#39;档案&#39;类型的声明属性。验证它是否未从模型中明确排除,并且它是有效的导航属性。

除非我明确地在导航属性上调用Ignore,否则此异常将继续存在,这是我不想要的。 (我的 reallife 场景有很多导航属性,我不想迭代这些)

modelBuilder.Entity<Dossier>().Ignore(x => x.DossierType);

有没有简单的方法可以轻松直接地忽略特定的实体类型?或者我应该采用反思方式:声明一个我不想要的类型列表并使用反射忽略它们?

0 个答案:

没有答案