【发布时间】:2012-06-02 01:55:59
【问题描述】:
所以,我按照 ADO.NET 团队博客中的指示尝试制作一个小型测试项目。 我已经仔细检查了一切。它似乎不起作用并一直说连接字符串丢失。
http://blogs.msdn.com/b/adonet/archive/2011/03/15/ef-4-1-model-amp-database-first-walkthrough.aspx
步骤。 1 构建这个 UserModels.dll。在dll,App.Config文件中,edmx生成了这个连接字符串:(制作时点击'test'按钮,连接成功,并生成'UserDatabase'所有表的edmx图)
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<connectionStrings>
<add name="UserModelsContainer" connectionString="metadata=res://*/UserModels.csdl|res://*/UserModels.ssdl|res://*/UserModels.msl;provider=System.Data.SqlClient;provider connection string="data source=MyDesktop\SQL2008;initial catalog=UserDatabase;integrated security=True;multipleactiveresultsets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
</connectionStrings>
</configuration>
第 2 步。 然后我做了一个测试项目:
class UnitTetst1 ....
TestMethod1()....
using (var db = new UserModelsContainer()) {
int i = db.Users.Count(); // <---expecting '0' for a new db, but I get an exception
}
---------这里有问题-----
第 3 步。运行测试。然后我得到一个像这样的错误 InvalidOperationException:
"No connection string named 'UserModelsContainer' could be found in the application config file."
似乎 DbContext 不知道从 App.Config 中获取连接字符串的位置??
请帮忙~~
【问题讨论】:
-
注意:这适用于所有类型的EF、代码优先、数据库优先、模型优先。帮助我解决了 Code-First 问题。
标签: entity-framework ef-code-first dbcontext database-first