我创建了一个使用多租户的项目,我想要一种方法来控制订阅和所有数据客户,如帐户和其他重要数据,以便从管理面板为客户提供支持
请给我一个方法和例子来做,使用ASP。. NET Core,我使用一个单一的数据库方法,每个表中都有tenantId列
要启用多个租户,您可以尝试EF Core Multi-tenancy。
您可以参考Multi-tenancy
要只过滤当前租户,请尝试如下命令
protected override void OnModelCreating(ModelBuilder modelBuilder)
=> modelBuilder.Entity<MultitenantContact>()
.HasQueryFilter(mt => mt.Tenant == _tenant);
忽略当前租户查询所有数据。你可以尝试添加一个新属性,比如DisbleFilter
然后改变OnModelCrating
,比如
protected override void OnModelCreating(ModelBuilder modelBuilder)
=> modelBuilder.Entity<MultitenantContact>()
.HasQueryFilter(mt => mt.Tenant == _tenant || service.DisbleFilter);