我花了一整天的时间用谷歌搜索来解决这个问题。我在这个问题上发现的每个帖子似乎都有相同的解决方案。将连接字符串放在启动项目的配置文件中。
我有两个项目。一个用于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="data source=*****;initial catalog=*****;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
错误:
No connection string named 'StoreContext' could be found in the application config file.
答案 0 :(得分:1)
我一直在那里,并为这个问题付出了努力。
解决方案是使用 NuGet 将Entity Framework 6添加到您的应用程序中。这将自动为您生成正确的连接字符串,并完全自动设置您的app.config 。
设置app.config的NuGet向导非常聪明:如果已经有一些不好的设置,它将删除它们并添加好的条目。
有关详细信息和分步指南,请参阅我的回答:Upgrade from Entity Framework 5 to 6。
答案 1 :(得分:0)
试试这个: - 删除(或注释掉)web.config中的连接字符串 - 删除嵌套在edmx中的model.tt文件 - 双击edmx文件并右键单击空白区域,然后单击“#34;从数据库更新模型”#34;。这将要求您提供新的连接字符串。
如果您不删除原件,则无法完成向导。
或者,升级到6.1,你的麻烦就会消失。
答案 2 :(得分:0)
我会检查以确保启动项目中的连接字符串是正确的。这通常是我得到同样错误的地方,并且几乎总是通过将连接字符串从带有EDMX的Data项目复制到启动项目来解决。
我还建议你检查一下你是否正在导入EDMX项目的引用,但我认为如果你得到了你所描述的错误,那么你就是这样做的。已经这样做了。
我之前看到的另一件事是你需要获得两个项目的实体框架。前几天我遇到了与此类似的问题(无法记住确切错误),将EF安装到启动项目中解决了问题。