多租户解析管理站点中的租户上下文

时间:2018-07-06 13:27:28

标签: c# entity-framework asp.net-identity multi-tenant

我正在点网核心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
    }
}

1 个答案:

答案 0 :(得分:0)

您可以将租户上下文本身放置在其他项目中,并在系统项目中引用生成的dll文件。