我正在点网核心2.1中开发一个多租户应用程序。我已经使用身份框架进行用户管理。我有两个Web项目以及两个用于租户和系统的数据上下文。
SystemDb (SystemDbContext)- central database
TenantDb (TenantDbContext)- tenant (this has TenantId filter)
当我从系统门户创建租户时,我想在租户数据库中创建默认的admin用户。我想知道解决租户数据上下文的最佳方法是什么。租户实体已连接到数据库。
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
}
}
答案 0 :(得分:0)
您可以将租户上下文本身放置在其他项目中,并在系统项目中引用生成的dll文件。