c# - 具有多个 dbcontext 和不同连接字符串的 GraphQL 查询
问题描述
我正在尝试使用新的 Web API 扩展旧应用程序,并且选择了 GraphQL / Hotchocolate 作为要采用的技术。
基础 SQL Server 数据库至少包含 3 个数据库。“至少”意味着,可以有更多的数据库,这取决于租户的数量,由应用程序管理。
这给我带来了一个问题,我无法在 Startup 类的 ConfigureService 方法中添加 dbcontext 服务,因为在实例化启动类时实际租户是未知的。
三个数据库中的第一个始终相同,所以没有问题,但是数据库 2 和 3 的连接字符串略有不同,看起来像这样“...Initial Catalog=TenantStructure{0}...”和“...初始目录 = TenantData{0}..."在 appsettings.json 中。
后缀“{0}”需要替换为实际的tenantid,它必须是查询的一部分。
似乎我必须在每次查询时打开与结构和数据数据库的连接,我的问题是,如何将必要的租户 ID 等附加信息传递给查询。据我所知,我不能将租户 ID 用作过滤器值。
谢谢你的帮助。
解决方案
推荐阅读
- python - 尝试使用 users.nitro discord.py 时出错
- python - JSONDecodeError:期望值:第 1 行第 1 列(字符 0)Django rest_framework
- php - 如何直接在我的网站上跟踪 Coinbase Commerce Webhook 上的成功付款
- android - Dagger Hilt 如何将类注入 ViewModel
- c# - dotnet publish 调用对 Azure devops 的意外调用
- c - 为什么以下涉及指针的 C 表达式不会计算为错误?
- java - 如何验证在spring集成测试中调用了一个void函数
- kotlin - 在运行时加载 jar 文件 java.lang.NoClassDefFoundError: kotlin/jvm/internal/markers/KMappedMarker
- python - Plotly:更改图例条目之间的空间?
- java - 长命名捕获组正则表达式模式的问题