我有一个代码优先模型,其中所有实体都源自 Entity基类。我有房产IsDeleted在我想在所有实体中忽略的基类中(我无法删除/注释 IsDeleted 属性,因为基类在许多项目中使用)。有没有办法配置modelBuilder忽略所有实体的这个属性(我认为是约定俗成的),而不指定 modelBuilder.Entity<...>().Ignore(l => l.IsDeleted)对于我模型中的所有实体?

谢谢,
ionic

请您参考如下方法:

您可以使用新的 EF 6.1 Custom Code First Conventions 执行此操作:

modelBuilder.Types().Configure(c => c.Ignore("IsDeleted")); 

这将忽略名称 IsDeleted 的任何属性在您的任何类型中。

如果您只想对继承某个基类的类执行此操作,您可以执行以下操作:
modelBuilder.Types() 
            .Where(t => t.IsSubclassOf(typeof(MyBaseClass))) 
            .Configure(c => c.Ignore("IsDeleted")); 


评论关闭
IT干货网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!