实体框架6:“在应用程序配置文件中找不到连接字符串。”在asp.net核心应用程序中引用.net framework dll时

我正在将ASP.NET MVC应用程序移植到.NET Core。

应用程序依赖项之一是使用Entity Framework 6的.NET Framework dll。 我从旧的ASP.NET MVC应用程序中添加了设置,并引用了System.Configuration.Configurationmanager以在新应用程序中使用旧的设置文件格式。

运行应用程序时出现错误:

  

在应用程序配置文件中找不到名为“ myEntity”的连接字符串。

如何将连接字符串添加到新的.NET Core应用程序中?

lhj730511 回答:实体框架6:“在应用程序配置文件中找不到连接字符串。”在asp.net核心应用程序中引用.net framework dll时

像这样将连接字符串添加到appsettings.json中:

"Data": {        
    "DB": "metadata=res://*/AppDB.csdl|res://*/AppDB.ssdl|res://*/AppDB.msl;provider=System.Data.SqlClient;provider connection string='Your Connection String Goes Here'",},

像这样读取您的连接字符串:

IConfiguration["Data:DB"]

有关如何执行此操作的更多信息:ASP.NET Core Configuration

然后在您的DBContext的构造函数中传递连接字符串。

这是我在具有相同场景的一个应用程序中这样做的方式。

您将需要在具有EDMX文件的项目中修改您的T4模板(NameOfModel.Context.tt):

将此行添加到构造函数中:

: base(ConfigHelper.GetConnectionString("<#=container.Name#>"))

其中ConfigHelper.GetConnectionString是一个静态类,其中包含一种从appsettings.json中读取配置的方法,如前所述。

本文链接:https://www.f2er.com/3158685.html

大家都在问