C# Abp.AbpException:未知筛选器名称:MayHaveTenant。请确保在此之前已注册此筛选器
我正在使用Xunit框架进行测试。 当使用xunit在本地测试时,我得到了这个期望Abp.AbpException:Unknown filter name:MayHaveTenant。请确保在此之前已注册此筛选器 在Framewrokupgrade之前,它工作得非常好 这就是我的堆栈跟踪的样子C# Abp.AbpException:未知筛选器名称:MayHaveTenant。请确保在此之前已注册此筛选器,c#,asp.net,.net,xunit,aspnetboilerplate,C#,Asp.net,.net,Xunit,Aspnetboilerplate,我正在使用Xunit框架进行测试。 当使用xunit在本地测试时,我得到了这个期望Abp.AbpException:Unknown filter name:MayHaveTenant。请确保在此之前已注册此筛选器 在Framewrokupgrade之前,它工作得非常好 这就是我的堆栈跟踪的样子 Message: Abp.AbpException : Unknown filter name: MayHaveTenant. Be sure this filter is registered
Message:
Abp.AbpException : Unknown filter name: MayHaveTenant. Be sure this filter is registered before.
Stack Trace:
UnitOfWorkBase.GetFilterIndex(String filterName)
UnitOfWorkBase.SetFilterParameter(String filterName, String parameterName, Object value)
UnitOfWorkBase.SetTenantId(Nullable`1 tenantId, Boolean switchMustHaveTenantEnableDisable)
UnitOfWorkBase.Begin(UnitOfWorkOptions options)
UnitOfWorkManager.Begin(UnitOfWorkOptions options)
UnitOfWorkManager.Begin(TransactionScopeOption scope)
AuditingHelper.Save(AuditInfo auditInfo)
AuditingInterceptor.InterceptSynchronous(IInvocation invocation)
AbstractInvocation.Proceed()
ValidationInterceptor.InterceptSynchronous(IInvocation invocation)
AbstractInvocation.Proceed()
CustomExcelImportServiceProxy.Dispose()
AbstractComponentActivator.ApplyConcerns(IEnumerable`1 steps, Object instance)
AbstractComponentActivator.Destroy(Object instance)
AbstractLifestyleManager.Release(Object instance)
Burden.Release()
<>c.<Release>b__22_0(Burden c)
List`1.ForEach(Action`1 action)
Burden.Release()
<>c.<Release>b__22_0(Burden c)
List`1.ForEach(Action`1 action)
Burden.Release()
LifecycledComponentsReleasePolicy.Dispose()
DefaultKernel.DisposeComponentsInstancesWithinTracker()
DefaultKernel.Dispose()
WindsorContainer.Dispose()
IocManager.Dispose()
AbpIntegratedTestBase`1.Dispose()
namespace EntityFrameworkCore
{
public class DbContext : AbpZeroDbContext<Tenant, Role, User, DbContext>, IAbpPersistedGrantDbContext
{
public virtual DbSet<Building> Buildings { get; set; }
public virtual DbSet<NoteRateableValueBuilding> NoteRateableValueBuildings { get; set; }
public DbContext(DbContextOptions<DbContext> options)
: base(options)
{
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<Building>(b => { b.HasIndex(e => new { e.TenantId }); });
modelBuilder.Entity<NoteRateableValueBuilding>(n => { n.HasIndex(e => new { e.TenantId }); });
modelBuilder.Entity<TenantInformation>()
.HasOne(x => x.Tenant);
modelBuilder.ConfigurePersistedGrantEntity();
}
}
}
```
消息:
Abp.AbpException:未知筛选器名称:MayHaveTenant。请确保在此之前已注册此筛选器。
堆栈跟踪:
UnitOfWorkBase.GetFilterIndex(字符串筛选器名称)
UnitOfWorkBase.SetFilterParameter(字符串过滤器名称、字符串参数名称、对象值)
UnitOfWorkBase.SetTenantId(可为null的`1 tenantId,布尔开关必须具有TenantEnableDisable)
UnitOfWorkBase.Begin(UnitOfWorkOptions选项)
UnitOfWorkManager.Begin(UnitOfWorkOptions选项)
UnitOfWorkManager.Begin(TransactionScopeOption作用域)
AuditingHelper.Save(AuditInfo AuditInfo)
AuditingInterceptor.Interceptor同步(IInvocation调用)
AbstractInvocation.procedure()
ValidationInterceptor.InterceptSynchronous(IInvocation调用)
AbstractInvocation.procedure()
CustomExcelImportServiceProxy.Dispose()
AbstractComponentActivator.ApplyConcerns(IEnumerable`1步骤,对象实例)
AbstractComponentActivator.Destroy(对象实例)
AbstractLifestyleManager.Release(对象实例)
负担.释放()
c、 b_uu22_u0(负担c)
列表'1.ForEach(操作'1操作)
负担.释放()
c、 b_uu22_u0(负担c)
列表'1.ForEach(操作'1操作)
负担.释放()
LifecycledComponentsReleasePolicy.Dispose()的生命周期
DefaultKernel.DisposeComponentsInstancesWithinTracker()
DefaultKernel.Dispose()
WindsorContainer.Dispose()
IocManager.Dispose()
AbpIntegratedTestBase`1.Dispose()
下面是我的Dbcontext的样子
Message:
Abp.AbpException : Unknown filter name: MayHaveTenant. Be sure this filter is registered before.
Stack Trace:
UnitOfWorkBase.GetFilterIndex(String filterName)
UnitOfWorkBase.SetFilterParameter(String filterName, String parameterName, Object value)
UnitOfWorkBase.SetTenantId(Nullable`1 tenantId, Boolean switchMustHaveTenantEnableDisable)
UnitOfWorkBase.Begin(UnitOfWorkOptions options)
UnitOfWorkManager.Begin(UnitOfWorkOptions options)
UnitOfWorkManager.Begin(TransactionScopeOption scope)
AuditingHelper.Save(AuditInfo auditInfo)
AuditingInterceptor.InterceptSynchronous(IInvocation invocation)
AbstractInvocation.Proceed()
ValidationInterceptor.InterceptSynchronous(IInvocation invocation)
AbstractInvocation.Proceed()
CustomExcelImportServiceProxy.Dispose()
AbstractComponentActivator.ApplyConcerns(IEnumerable`1 steps, Object instance)
AbstractComponentActivator.Destroy(Object instance)
AbstractLifestyleManager.Release(Object instance)
Burden.Release()
<>c.<Release>b__22_0(Burden c)
List`1.ForEach(Action`1 action)
Burden.Release()
<>c.<Release>b__22_0(Burden c)
List`1.ForEach(Action`1 action)
Burden.Release()
LifecycledComponentsReleasePolicy.Dispose()
DefaultKernel.DisposeComponentsInstancesWithinTracker()
DefaultKernel.Dispose()
WindsorContainer.Dispose()
IocManager.Dispose()
AbpIntegratedTestBase`1.Dispose()
namespace EntityFrameworkCore
{
public class DbContext : AbpZeroDbContext<Tenant, Role, User, DbContext>, IAbpPersistedGrantDbContext
{
public virtual DbSet<Building> Buildings { get; set; }
public virtual DbSet<NoteRateableValueBuilding> NoteRateableValueBuildings { get; set; }
public DbContext(DbContextOptions<DbContext> options)
: base(options)
{
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<Building>(b => { b.HasIndex(e => new { e.TenantId }); });
modelBuilder.Entity<NoteRateableValueBuilding>(n => { n.HasIndex(e => new { e.TenantId }); });
modelBuilder.Entity<TenantInformation>()
.HasOne(x => x.Tenant);
modelBuilder.ConfigurePersistedGrantEntity();
}
}
}
```
名称空间EntityFrameworkCore
{
公共类DbContext:AbpZeroDbContext、IAbpPersistedGrantDbContext
{
公共虚拟数据库集{get;set;}
公共虚拟数据库集NoteRateableValueBuildings{get;set;}
公共DbContext(DbContextOptions)
:基本(选项)
{
}
模型创建时受保护的覆盖无效(ModelBuilder ModelBuilder)
{
基于模型创建(modelBuilder);
实体(b=>{b.HasIndex(e=>new{e.TenantId});});
实体(n=>{n.HasIndex(e=>new{e.TenantId});});
modelBuilder.Entity()
.HasOne(x=>x.Tenant);
modelBuilder.ConfigurePersistedGrantEntity();
}
}
}
```
在GitHub上创建一个repo项目,最好从。