asp.net-mvc-3 - Entity Framework - 连接字符串 - 不支持关键字 'Data Source'

标签 asp.net-mvc-3 entity-framework-4 connection-string

我知道这是 EF 初学者面临的一个常见问题,这里有多个问题和答案,但我仍然无法解决这个问题。

我正在使用 EF 4.1 和 MVC 3,并在单独的库中从数据库生成了 EF 模型。我已将连接字符串从支持库中的 app.config 复制到我的应用程序的 web.config。我还通过传递 web.config 连接字符串来实例化对象上下文。

string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["MasterDataContainer"].ConnectionString;

context = new MasterDataContainer(connectionString);

web.config 中的连接字符串如下
<connectionStrings>    
    <add name="MasterDataContainer" connectionString="metadata=res://*/MasterData.csdl|res://*/MasterData.ssdl|res://*/MasterData.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=.;Initial Catalog=MasterData;Integrated Security=True;MultipleActiveResultSets=True;Application Name=EntityFramework&quot;" providerName="System.Data.EntityClient" />
</connectionStrings>

我收到错误“不支持关键字:数据源”。
对此的任何帮助表示赞赏。

最佳答案

您不需要 EntityConnectionStringBuilder因为您已经有一个 EF 连接字符串。即只是

string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["MasterDataContainer"].ConnectionString;
context = new MasterDataContainer(connectionString);
EntityConnectionStringBuilder可用于建立 EF 连接,例如一个 Vanilla .NET。

编辑
您好像遇到过这个问题 here .解决方法是逃避加载连接字符串,然后替换 &quot;"'"
更容易的是使用 name=ConnStringName ObjectContext/DbContext 的重载。在你的情况下,这将是
context = new MasterDataContainer("name=MasterDataContainer");

另请注意,如果您查看生成的 Context 的源(可能是 MasterDataContainer.Context.cs),默认构造函数应该将 EntityContainerName 属性硬编码到其中,因此您可能根本不需要向构造函数提供连接字符串,前提是您保留相同的实体容器名称。

http://msdn.microsoft.com/en-us/library/bb739017.aspx

关于asp.net-mvc-3 - Entity Framework - 连接字符串 - 不支持关键字 'Data Source',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12104036/

相关文章:

javascript - 如何从 Controller 发送多个 JSON 结果以查看?

asp.net-mvc-3 - Razor 查看 if 语句不正确

asp.net-mvc - 在 MVC 4 中覆盖 AuthorizeAttribute

c# - 搜索实体的所有字段

Azure 错误 - 连接字符串困难

javascript - 我们如何使用 javascript 计算 ASP.NET GridView 中选中的复选框的数量?

asp.net-mvc-3 - 具有代码优先独立关联或外键关联的 EF 模型

mysql - 无法连接,vb.net 和 mysql

asp.net - 不支持关键字 : 'provider'

c# - 为什么 EF 在比较 null 变量时不返回任何结果?