C# 多租户解析管理站点中的租户上下文
我正在用dot net core 2.1开发一个多租户应用程序。我使用了身份框架进行用户管理。我有两个web项目和两个租户和系统的数据上下文C# 多租户解析管理站点中的租户上下文,c#,entity-framework,asp.net-identity,multi-tenant,C#,Entity Framework,Asp.net Identity,Multi Tenant,我正在用dot net core 2.1开发一个多租户应用程序。我使用了身份框架进行用户管理。我有两个web项目和两个租户和系统的数据上下文 SystemDb (SystemDbContext)- central database TenantDb (TenantDbContext)- tenant (this has TenantId filter) 当我从系统门户创建租户时,我想在租户数据库中创建一个默认管理员用户。我想知道解决租户数据上下文的最佳方法是什么。租户实体具有到数据库的连接
SystemDb (SystemDbContext)- central database
TenantDb (TenantDbContext)- tenant (this has TenantId filter)
当我从系统门户创建租户时,我想在租户数据库中创建一个默认管理员用户。我想知道解决租户数据上下文的最佳方法是什么。租户实体具有到数据库的连接
public class TenantManagementService: ITenantManagementService
{
private readonly ISystemDbContext _systemDbContext;
private readonly UserManager<SystemUser> _userManager;
public InsertTenantDetailsCommandHandler(ISystemDbContext systemDbContext, UserManager<SystemUser> userManager)
{
_systemDbContext = systemDbContext;
}
public async Task CreateTenant(Tenant tenant)
{
await _systemDbContext.Tenants.AddAsync(tenant);
await _systemDbContext.SaveChangesAsync();
// I need to create default user in tenantDbContext
}
}
公共类租户管理服务:ITenantManagementService
{
私有只读ISystemDbContext _systemDbContext;
私有只读用户管理器_UserManager;
public InsertTenantDetailsCommandHandler(ISystemDbContext systemDbContext,UserManager UserManager)
{
_systemDbContext=systemDbContext;
}
公共异步任务CreateTenant(租户租户)
{
wait_systemDbContext.Tenants.AddAsync(tenant);
wait_systemDbContext.saveChangesSync();
//我需要在tenantDbContext中创建默认用户
}
}
您可以将租户上下文单独放置在不同的项目中,并在系统项目中引用生成的dll文件