Dapper 在运行时更改连接字符串

埃瓦尔达斯·布伊纳斯卡斯

我的应用程序连接到三个相同的数据库服务器(DDL 明智)。

我想让应用程序用户决定他们想要连接到哪个数据库。

这是一个 ASP.NET Core 2.1 API 项目,它实现了服务和存储库模式(使用 Dapper 调用数据库查询,但这可以更改)。

我可以简单地将服务器名称作为我的域项目中的参数,但我不希望它知道我们拥有的数据库服务器的任何信息,我也不希望我的存储库知道可能有多个服务器。

所以它只是应用程序端可以决定在运行时连接到哪个数据库服务器。

我能够找到 EF Core 的示例和建议,但对于其他任何东西,尤其是 Dapper,我都找不到。

所以我的问题是。我如何让用户在运行时更改数据库服务器,同时让域和存储库不知道存在多个服务器?

因此,在这种情况下,我建议您将连接字符串存储在环境变量或 appsettings.json 文件中。假设用户想要访问 "server1" ,这将来自您的 api,然后您可以像这样在存储库层中获取相关的连接字符串

var connectionString = Environment.GetEnvironmentVariable(serverToUse);

serverToUse从 api 传入的“server1”在哪里我更喜欢将我的连接字符串存储在环境变量中,因为它直接存储在主机上,而不是应用程序中。您也可以通过 appsettings 执行此操作

"Server1" : "Your connection string here" 在您的 appsettings.json 中

您也可以在服务层中执行此操作,并让服务层将连接字符串传递到存储库。选择你的口味。在这种情况下,存储库不关心您使用的是什么连接,只要它存在于环境变量或 appsettings 中。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

.Net核心Dapper连接字符串?

来自分类Dev

在运行时使用连接字符串

来自分类Dev

如何在运行时更改NLog目标的连接字符串?

来自分类Dev

Azure Web服务-在运行时更改数据库连接字符串

来自分类Dev

实体框架-在运行时更改连接字符串(需要解释)

来自分类Dev

Castle和NLog在运行时更改连接字符串

来自分类Dev

在运行时更改连接字符串–这是正确的方法吗?

来自分类Dev

在EF 6中在运行时更改连接字符串

来自分类Dev

如何在运行时在EF7 Core中更改连接字符串?

来自分类Dev

Castle和NLog在运行时更改连接字符串

来自分类Dev

C#在运行时更改自定义连接字符串

来自分类Dev

EF6在运行时更改连接字符串

来自分类Dev

使用连接字符串和精简程序时如何在运行时更改初始目录

来自分类Dev

Dapper和Enums作为字符串

来自分类Dev

Dapper扩展更改架构

来自分类Dev

SQLite EF6在运行时以编程方式设置连接字符串

来自分类Dev

对于每个调用,在运行时将连接字符串传递给Entity Framework

来自分类Dev

在运行时设置数据库连接字符串

来自分类Dev

实体框架在运行时设置连接字符串

来自分类Dev

PyQt:在运行时转换模块字符串

来自分类Dev

尝试在运行时编辑字符串

来自分类Dev

使用实体框架,依赖注入,工作单元和存储库模式在运行时注入/管理更改连接字符串

来自分类Dev

在运行时通过包含在主内存中的XML字符串更改活动的布局

来自分类Dev

创建仅包含字符串的JList的最简单方法(必须在运行时更改Jlist)

来自分类Dev

在运行时将字符添加到字符串末尾

来自分类Dev

使用 UOW 的 Dapper - 不要关闭连接

来自分类Dev

Dapper查询可以更改为ObservableCollection吗?

来自分类Dev

Groovy字符串插值,其值仅在运行时已知

来自分类Dev

为什么必须在运行时构造字符串?

Related 相关文章

  1. 1

    .Net核心Dapper连接字符串?

  2. 2

    在运行时使用连接字符串

  3. 3

    如何在运行时更改NLog目标的连接字符串?

  4. 4

    Azure Web服务-在运行时更改数据库连接字符串

  5. 5

    实体框架-在运行时更改连接字符串(需要解释)

  6. 6

    Castle和NLog在运行时更改连接字符串

  7. 7

    在运行时更改连接字符串–这是正确的方法吗?

  8. 8

    在EF 6中在运行时更改连接字符串

  9. 9

    如何在运行时在EF7 Core中更改连接字符串?

  10. 10

    Castle和NLog在运行时更改连接字符串

  11. 11

    C#在运行时更改自定义连接字符串

  12. 12

    EF6在运行时更改连接字符串

  13. 13

    使用连接字符串和精简程序时如何在运行时更改初始目录

  14. 14

    Dapper和Enums作为字符串

  15. 15

    Dapper扩展更改架构

  16. 16

    SQLite EF6在运行时以编程方式设置连接字符串

  17. 17

    对于每个调用,在运行时将连接字符串传递给Entity Framework

  18. 18

    在运行时设置数据库连接字符串

  19. 19

    实体框架在运行时设置连接字符串

  20. 20

    PyQt:在运行时转换模块字符串

  21. 21

    尝试在运行时编辑字符串

  22. 22

    使用实体框架,依赖注入,工作单元和存储库模式在运行时注入/管理更改连接字符串

  23. 23

    在运行时通过包含在主内存中的XML字符串更改活动的布局

  24. 24

    创建仅包含字符串的JList的最简单方法(必须在运行时更改Jlist)

  25. 25

    在运行时将字符添加到字符串末尾

  26. 26

    使用 UOW 的 Dapper - 不要关闭连接

  27. 27

    Dapper查询可以更改为ObservableCollection吗?

  28. 28

    Groovy字符串插值,其值仅在运行时已知

  29. 29

    为什么必须在运行时构造字符串?

热门标签

归档