C# 如何使用接口应用EF Core全局查询筛选器

C# 如何使用接口应用EF Core全局查询筛选器,c#,entity-framework-core,C#,Entity Framework Core,为了管理软删除的实体,我想对实现ISoftDelete的每个实体应用全局查询过滤器,但这段代码不起作用: 是否可以将接口用作实体类型?我应该循环每个modelBuilder.Model.GetEntityTypes()并手动应用查询(比如)吗?或者另一种方式 谢谢你的帮助 链接的问题不是和这个完全一样吗?很快-是的,你应该使用循环。因为haskqueryfilterlambda表达式的预期参数类型应该是实际的实体类型,而不是接口。@CamiloTerevinto不完全正确。另一个帖子已经选择使

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

是否可以将接口用作实体类型?我应该循环每个
modelBuilder.Model.GetEntityTypes()
并手动应用查询(比如)吗?或者另一种方式


谢谢你的帮助

链接的问题不是和这个完全一样吗?很快-是的,你应该使用循环。因为
haskqueryfilter
lambda表达式的预期参数类型应该是实际的实体类型,而不是接口。@CamiloTerevinto不完全正确。另一个帖子已经选择使用循环,即使他也使用了接口。我只是想知道我们是否可以直接使用接口而不是特定类型。实体框架不是告诉你不能吗?谢谢你的输入@IvanStoev。我要试试打个圈。我想我还将尝试使用基本类型,看看是否可行。
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.'