实体框架生成的Context使用错误的连接字符串

时间:2013-06-12 09:00:05

标签: c# .net entity-framework ado.net connection-string

我在我的项目中添加了一个ADO.NET实体数据模型,它在app.config中创建了一个连接字符串,如下所示:

<add name="KeyTranslatorEntities" connectionString="metadata=res://*/DAL.Model.csdl|res://*/DAL.Model.ssdl|res://*/DAL.Model.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=ZZZZZ.database.windows.net,1433;initial catalog=KeyTranslator;persist security info=True;user id=YYYYY;password=XXXXX;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />

它还生成了类KeyTranslatorEntities,它继承自DbContext并具有此默认构造函数:

public KeyTranslatorEntities()
        : base("name=KeyTranslatorEntities")
    {
    }

我使用默认生成的构造函数创建KeyTranslatorEntities,但在检查时,实例使用连接字符串:

"data source=localhost;initial catalog=KeyTranslator;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework"

为什么没有使用正确的连接字符串?

1 个答案:

答案 0 :(得分:1)

问题在于解决方案包含两个不同的项目。一个包含EntityFramework代码,另一个包含依赖于另一个项目的WebService项目。 WebService项目包含正在使用的第一个连接字符串。

获得的经验教训:确保启动项目的配置文件已更新。