首页 > 解决方案 > 启动时在 EF Core 中创建多个 Db 上下文

问题描述

这是我的要求,我想得到一些想法来实现它..

我的 API 使用托管在不同服务器中的多个数据库。根据标头中的特定值(EnvironmentId)识别正确的服务器。我有一个表,其中包含有关环境和相应数据库的信息。

桌子

当 API 请求到来时,我将从 Header 中解析 ENvironmentId 并使用相应的服务器进行 CRUD 操作..

我在大多数示例 hte 上下文中看到配置如下。

services.AddDbContext<ConfigDbContext>(
    options => options.UseSqlServer("connectionstring"));

我无法像上面那样实例化配置 Db 上下文,因为我的服务器随环境 ID 而变化。

问题是,是否有一种智能方法可以根据环境 ID 在我的控制器中注入 hte 上下文对象。

或者唯一的方法是根据 environemntId 在我的控制器中动态创建上下文实例?

标签: entity-framework-coredbcontext

解决方案


推荐阅读