Ion*_*obu 5 entity-framework ignore properties conventions
我有一个代码优先模型,其中所有实体都是从Entity基类派生的.我IsDeleted在基类中有一个属性,我想在所有实体中忽略(我不能删除/注释IsDeleted属性,因为在许多项目中使用了基类).有没有办法配置modelBuilder为从所有实体(通过约定,我认为)中忽略此属性,而不指定modelBuilder.Entity<...>().Ignore(l => l.IsDeleted)我的模型中的所有实体?
谢谢,离子
mag*_*tic 15
您可以使用新的EF 6.1 自定义代码优先约定执行此操作:
modelBuilder.Types().Configure(c => c.Ignore("IsDeleted"));
Run Code Online (Sandbox Code Playgroud)
这将忽略任何IsDeleted类型的名称的任何属性.
如果您只想为继承某个基类的类执行此操作,则可以执行以下操作:
modelBuilder.Types()
.Where(t => t.IsSubclassOf(typeof(MyBaseClass)))
.Configure(c => c.Ignore("IsDeleted"));
Run Code Online (Sandbox Code Playgroud)