gpt4 book ai didi

entity-framework - 带 DbContext 池和 Multi-Tenancy 的 EF Core - 每个租户的数据库

转载 作者:行者123 更新时间:2023-12-05 05:12:28 27 4
gpt4 key购买 nike

我需要解决 Entity Framework 核心中的 Multi-Tenancy 问题。每个租户都有自己的数据库(由于历史原因,无法更改)。

我将按照许多地方的建议使用上下文工厂(example 1example 2example 3)。

我的问题是:

  • 我可以通过这种方法使用上下文池吗
  • 我可以使用 OnModelCreating 中设置的 IMutableEntityType.QueryFilter 吗?

如果从池中返回 DbContext,我担心它会链接到旧的连接字符串,而不是新的(如果请求是从不同的租户开始的,那么上下文是从哪里创建的)。

我想我可以像这样解决迁移(来自 second point ):

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

除了我的 2 个问题。在开始编码之前还有什么我应该考虑的吗?

最佳答案

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

不,你不能使用 DbContext 池

关于entity-framework - 带 DbContext 池和 Multi-Tenancy 的 EF Core - 每个租户的数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54553678/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com