如何使用Interface应用EF Core全局查询过滤器

时间:2018-03-06 11:14:53

标签: c# entity-framework-core

为了管理软删除的实体,我想对实现ISoftDelete的每个实体应用全局查询过滤器,但是这段代码不起作用:

protected override void OnModelCreating(ModelBuilder modelBuilder)
{
    modelBuilder.Entity<ISoftDelete>().HasQueryFilter(p => !p.IsDeleted);
}

我收到此错误:

System.ArgumentException: 'The entity type 'Shoppy.Core.Commons.ISoftDelete' provided for the argument 'clrType' must be a reference type.'

是否可以使用Interface作为实体类型?我应该循环每个modelBuilder.Model.GetEntityTypes()并手动应用查询(例如this)吗?或许是另一种方式?

感谢您的帮助!

0 个答案:

没有答案