我可以通过自定义代码第一约定添加鉴别器吗?

时间:2013-10-14 11:25:47

标签: entity-framework entity-framework-6

我向所有实体添加了一个鉴别器列,以方便soft delete

目前我通过逐个在每个实体上指定它来做到这一点:

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
   modelBuilder.Entity<Foo>().Map(m => m.Requires("IsDeleted").HasValue(false));
   modelBuilder.Entity<Bar>().Map(m => m.Requires("IsDeleted").HasValue(false));
   //etc etc
}

我希望能够将其指定为Custom Code First Convention。我的实体都继承自ModelBase类。所以我可以创建一个自定义约定来映射到这样的存储过程:

modelBuilder.Types<ModelBase>().Configure(m => m.MapToStoredProcedures());

但这不可用:

modelBuilder.Types<ModelBase>().Configure(m => m.Requires("IsDeleted").HasValue(false));

那么,有没有办法向所有继承ModelBase的实体添加一个鉴别器,而不是逐个进行?

0 个答案:

没有答案