EF Core使用DbContext池和多租户 - 每个租户一个数据库

3
我需要解决Entity Framework Core中的多租户问题。每个租户都有自己的数据库(由于历史原因,这不能改变)。
我将使用上许多地方建议的上下文工厂(example 1, example 2, example 3)。
我的问题是:
  • 我能否在这种方法中使用上下文池
  • 我能否在OnModelCreating中设置IMutableEntityType.QueryFilter
如果DbContext从池中返回,我担心它将链接到旧的连接字符串,而不是新的(如果请求是从创建上下文的不同租户开始的)。

我认为我可以像这样解决迁移问题(来自第二点):

foreach (var tenant in allTenants)
{
    var context = dbContextFactory.CreateDbContext(tenant, configuration);
    context.Database.Migrate();
}

除了我的两个问题之外,开始编程前还有什么需要考虑的吗?
1个回答

2

是的,您可以使用查询过滤器。

不,您不能使用DbContext池。

注:Original Answer翻译成“最初的回答”。

我添加了功能请求 - Makla
现在你可以做到。 - Abraham Velazquez

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接