gpt4 book ai didi

c# - 如何将 Dapper Extensions 映射到多个数据库?

转载 作者:行者123 更新时间:2023-11-30 22:55:04 25 4
gpt4 key购买 nike

我找不到在线示例向您展示如何根据您使用的工作单元创建到多个数据库(在同一应用程序中)的映射。似乎 Dapper Extensions 将只接受一个全局 SqlDialect

我想使用 Dapper Extensions 根据我使用的工作单元映射到多个数据库。因此,例如对于存储库 UserUserLogin 的 UoW,我想将它们映射到 MySql。对于存储库 ProductOrders 的 UoW,我想映射到 Postgres。这两种映射应该同时在同一个应用程序中工作。

我不确定该怎么做,因为 SqlDialect 属性似乎是一个全局设置。

最佳答案

DapperExtensions 类是一个static 类。因此所有成员包括SqlDialect静态的。这就是为什么你提到的问题。即使是全局的,如果它是实例类/成员,您也可以简单地创建不同的实例,但由于 DapperExtensions 的设计方式,这是不可能的。

此问题已在 GitHub 上报告 here .

以下可能是可能的解决方案。

If you want to use multiple implementations of DapperExtensions you can try using impl := new DapperImplementor(new SqlGeneratorImpl(config));

我无法解释更多,因为我从未使用过这种方法。

关于c# - 如何将 Dapper Extensions 映射到多个数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55655584/

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