用于在接口上映射的entity framework解决方法

我想创建一种在我的entity framework应用程序中应用软删除的通用方法。 我有一个定义删除字段的接口模型:

public interface IModel { bool Deleted { get; set; } Nullable Created { get; set; } Nullable Modified { get; set; } } 

几乎我应用程序中的每个模型都实现了这个IModel 。 为了让DbContext删除设置为true的所有记录,我想应用映射。 我用这篇好文章作为我实现的基础。

 protected override void OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.Entity() .Map(m => m.Requires("Deleted").HasValue(false)) .Ignore(m => m.Deleted); } 

但是,entity framework(显然)不支持接口映射。 这使得我努力尝试以这种方式工作,以至于我不必单独将此映射应用于每个模型。

是否有其他流畅的API方式让我在所有实现IModel模型上应用映射而没有大量多余的代码?