gpt4 book ai didi

ASP.NET 5/MVC 6 数据库优先 - 在应用程序配置文件中找不到名为 MyEntity 的连接字符串

转载 作者:行者123 更新时间:2023-12-04 19:52:01 25 4
gpt4 key购买 nike

我们的 ASP.NET 5/MVC 6 项目通过经过业务层程序集然后向下进入 DAL(数据库优先)程序集来访问我们的数据库。 MVC 6 代码在尝试执行使用 DbContext 访问数据库的业务层代码时出现错误:在应用程序配置文件中找不到名为“MyEntity”的连接字符串。我曾尝试以各种方式在 MVC 项目 config.json、appsettings.json 中定义 MyEntity 连接字符串,但没有成功。

如果从测试程序项目执行业务层方法,其中我有预期的 app.config 文件,连接字符串语法如下所示,它没有问题。

备注 这个问题也可以重新表述为如何将 MVC 5 迁移到 MVC 6 应用程序,其中 MVC 5 应用程序松散耦合对 DAL 层的 DB 访问,MVC 代码不了解 EF,仅提供所需的 web.config 连接字符串DAL 中的 DbContext 对象?

任何帮助将不胜感激,如果您需要更多信息,请告诉我。

Tester 项目中的配置文件语法:

<add name="MyEntity" 

connectionString="metadata=res://*/MyModel.csdl|res://*/MyModel.ssdl|res://*/MyModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=MyServer;initial catalog=MyDB;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;"
providerName="System.Data.EntityClient" />

config.json 文件中可能有错误的语法。
{
"Data": {

"defaultConnection": {

"connectionString": "metadata=res://*/MyModel.csdl|res://*/MyModel.ssdl|res://*/MyModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=MyServer;initial catalog=MyDB;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;"
},

"entityFramework": {

"MyEntity": {

"ConnectionString": "name=data:defaultConnection:connectionString"
}
}
}
}

最佳答案

数据库上下文是如何创建的?

Migrate Configuration Settings from web.config

连接字符串可以在 appsettings.json 中

{
"Data": {
"DefaultConnection": {
"ConnectionString": "Server=(localdb)\\MSSQLLocalDB;Database=_CHANGE_ME;Trusted_Connection=True;"
}
}
}

编辑
您可以按如下方式获取连接字符串:
string connection = Configuration.Get<string>("Data:DefaultConnection:ConnectionString");

关于ASP.NET 5/MVC 6 数据库优先 - 在应用程序配置文件中找不到名为 MyEntity 的连接字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35353695/

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