[英]Entity Framework - No connection string could be found in the application config file
[英]ASP.NET Core 2 with Entity Framework, showing no connection string named '####' could be found in the application config file
我正在编写一个ASP.NET Core MVC应用程序。 我正在使用实体框架。 我有一个数据访问层,在这里我从设计的数据库中添加了edmx。 MVC项目正在引用此数据访问项目。
当我尝试从数据库访问某些内容时,会发生此错误:
处理请求时发生未处理的异常。
InvalidOperationException:在应用程序配置文件中找不到名为“ DefaultConnection”的连接字符串。
System.Data.Entity.Internal.LazyInternalConnection.get_ConnectionHasModel()
我已经在数据访问项目和Core项目中都设置了连接字符串。 但是仍然出现此错误。
这是appsetting.json
:
{
"Data": {
"DefaultConnection": {
"ConnectionString": "**My DB Details**"
}
},
"Logging": {
"LogLevel": {
"Default": "Warning"
}
},
"AllowedHosts": "*"
}
知道发生了什么吗?
由于您在.NET Framework库中使用EF 6,因此它可能正在web.config中查找。 因此,请按照以下说明将其放入web.config 中 :
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<connectionStrings>
<add name="DefaultConnection"
connectionString="**My DB Details**" />
</connectionStrings>
</configuration>
先前的答案(仅适用于EF Core):
.NET Core中的连接字符串应如下所示:
"ConnectionStrings": {
"DefaultConnection": "**My DB Details**"
}
不是您现在拥有的"Data"
节点。
当您拥有.NET Core
Web项目并由EF6
项目作为类库支持时,并不是那么简单。
为了使事情顺利进行,您可能必须:
.NET Core
Web项目中的参考完整框架 Factory
模式向DbContext
提供连接字符串 在.NET Core
Web项目中手动创建一个web.config
是不好的,因为在发布之前它没有一个。 然后将基于appsetting
创建web.config
。
https://docs.microsoft.com/zh-cn/aspnet/core/data/entity-framework-6?view=aspnetcore-2.1是有关如何使.NET Core
和EF6
交流的文档。
由于时间不足,我不得不妥协。 我现在在ASP.NET Core项目中使用EF core,并且工作正常。 删除了数据访问层。 解决.NET Core的所有错误后,将使用它。
appjson.config做错了
"ConnectionStrings": {
"DefaultConnection": "your connection string"
}
删除数据标签,它应该可以工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.