针对以下情况是否有简单的解决方案:
我有2 Dossier
分享的实体DbContexts
。
Dossier
有2个导航属性,DossierType
和DossierAttachment
档案
档案 - > 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);
有没有简单的方法可以轻松直接地忽略特定的实体类型?或者我应该采用反思方式:声明一个我不想要的类型列表并使用反射忽略它们?