【发布时间】:2019-07-10 04:12:48
【问题描述】:
在我们的数据库中,我们需要动态地创建和使用模式。为此,我们希望使用动态 DbContext,它在构造时接受模式名称并将其用于此上下文中的所有查询。
我们的第一个想法是在导致数千个不同连接字符串的搜索路径连接字符串参数中指定模式。我的问题是这是否是 npgsql 中连接池策略的预期用例。我读到为每个连接字符串管理一个单独的连接池,这将导致数千个连接池每个都有一个或两个连接,这似乎很浪费。但另一方面,在常见的用例中,每个用户都有自己的数据库角色。由于在连接字符串中也指定了 Role,因此该场景还必须处理越来越多的连接字符串。
我们有一个备份策略,其中架构包含在 DbContext 的模型中。在这种情况下,我们将不得不管理数千个不同的模型,从而导致创建它们的开销或增加用于缓存它们的 RAM 使用量,但每个上下文都将使用相同的连接字符串。
【问题讨论】:
标签: entity-framework-core npgsql