Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Abp.AbpException:未知筛选器名称:MayHaveTenant。请确保在此之前已注册此筛选器_C#_Asp.net_.net_Xunit_Aspnetboilerplate - Fatal编程技术网

C# Abp.AbpException:未知筛选器名称:MayHaveTenant。请确保在此之前已注册此筛选器

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

我正在使用Xunit框架进行测试。 当使用xunit在本地测试时,我得到了这个期望Abp.AbpException:Unknown filter name:MayHaveTenant。请确保在此之前已注册此筛选器

在Framewrokupgrade之前,它工作得非常好

这就是我的堆栈跟踪的样子

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项目,最好从。