繁体   English   中英

在配置文件中找不到连接字符串。 但它在那里

[英]No connection string could be found in the config file. But it is there

我花了大部分时间在谷歌上搜索该问题的解决方法。 我在这个问题上发现的每个帖子似乎都有相同的解决方案。 将连接字符串放在启动项目的配置文件中。

我有两个项目。 一种用于EDMX,另一种用于网站项目。 我在两个文件中都有我的连接字符串,但仍然收到错误。 我已经尝试了所有涉及操作配置文件的方法,以使其正常工作。 我尝试将连接字符串放入解决方案中的所有配置文件中,删除或将Entity Framework配置部分添加到配置文件中,然后使用nuget卸载并重新安装EF 5。

我继承了此解决方案,因此除了数据库优先之外,我对它的创建方式一无所知。

连接字符串

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

错误:

No connection string named 'StoreContext' could be found in the application config file.

我去过那里,为那个确切的问题而苦恼。

解决方案是使用NuGet将Entity Framework 6添加到您的应用程序。 这将自动为您生成正确的连接字符串,并自动完美地设置您的app.config

设置app.config的NuGet向导非常聪明:如果其中已经包含一些错误的设置,它将删除它们并添加正确的条目。

有关更多详细信息和分步指南,请参阅我的回答: 从Entity Framework 5升级到6

尝试以下操作:-删除(或注释掉)web.config中的连接字符串-删除嵌套在edmx中的model.tt文件-双击edmx文件,右键单击空白处,然后单击“从数据库更新模型”。 这将要求您输入新的连接字符串。

如果不删除原件,则无法完成向导。

或者,升级到6.1,您的麻烦就会消失。

我将检查以确保启动项目中的连接字符串正确。 通常这是我遇到相同错误的地方,并且几乎总是通过将连接字符串从使用EDMX的数据项目复制到启动项目中来修复的。

我还建议您检查一下是否正在导入对EDMX项目的引用,但是我认为,如果您所描述的错误已到尽头,那么您已经在这样做了。

我之前看到的另一件事是,您需要为两个项目都获得实体框架。 前几天,我遇到了一个与此类似的问题(无法记住确切的错误),其中将EF安装到启动项目中可以解决此问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM