首页 > 解决方案 > 在代码中传递 Entity Framework Core 连接字符串

问题描述

如何指定 EF Core 应在我的代码中使用的连接字符串?不在任何 JSON 或配置文件中?

我有一个包含许多数据库的 SQL Server。所有数据库都具有相同的登录名并位于同一台服务器上。

因此,与其保存一堆长字符串,我宁愿拥有“服务器”、“用户”和“密码”属性,并在需要时动态获取数据库并从中构建连接字符串。

但是,我找不到任何关于 EF Core 的信息,它允许我在配置文件之外的代码中指定连接字符串。

在常规 EF 中,我看到有人指出有一个基本构造函数,DbContext它需要一个连接字符串,但 Core 中缺少它。

标签: c#entity-framework-core

解决方案


感谢上帝!我偶然发现了nuget包 Microsoft.EntityFrameworkCore.Relational

有扩展方法,其中之一是

public static void SetConnectionString([NotNullAttribute] this DatabaseFacade databaseFacade, [CanBeNullAttribute] string connectionString)

像这样调用:

DbContext.Database.SetConnectionString("bla bla");

推荐阅读