2

我为我的所有实体添加了一个鉴别器列,以方便软删除

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

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呢?

4

0 回答 0