我需要解决实体框架核心中的多租户问题。每个租户都有自己的数据库(由于历史原因,无法更改)。
我将在许多地方(example 1,example 2,example 3)中使用建议的上下文工厂。
我的问题是:
IMutableEntityType.QueryFilter
中设置的OnModelCreating
如果DbContext是从池中返回的,我担心它将链接到旧的连接字符串,而不是新的(如果请求是从其他租户启动的,则创建了上下文)。
我想我可以解决这种迁移问题(来自second point):
foreach (var tenant in allTenants)
{
var context = dbContextFactory.CreateDbContext(tenant, configuration);
context.Database.Migrate();
}
除了我的2个问题。在开始编码之前,我还应该考虑什么吗?
答案 0 :(得分:1)
是的,您可以使用查询过滤器
否,您不能使用DbContext池