实体框架连接字符串未正确读取

时间:2015-02-21 20:28:27

标签: entity-framework

我有一个包含名为DataAccess的实体框架项目的解决方案。 DataAccess的app.config如下...

name="TsunamiEntities" connectionString="metadata=res://*/TsunamiDbModel.csdl|res://*/TsunamiDbModel.ssdl|res://*/TsunamiDbModel.msl;provider=System.Data.SqlClient;provider connection string="data source=SERV-MI4;initial catalog=Tsunami_NonMedia;integrated security=False;User ID=[userID];Password=[password];MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient"

当我从我的部分班级拨打以下电话时......

var conn = new SqlConnection(((EntityConnection)Connection).StoreConnection.ConnectionString

密码没有返回任何内容。

无论我对.config文件做什么,它总是返回integrated security=False;User ID=[userID](用户名和密码不在括号中。这仅用于示例目的。)

这是一个Windows服务,DataAccess项目设置为启动项目。此外,这是使用实体4和.NET Framework 3.5。

思想?

更新

当我使用上面的代码时,它告诉我它无法连接到数据库。当我使用以下代码时......

感谢您回复我这一切。我会尝试回答所有问题,但也许提供更多信息会有所帮助。当我保留上面的代码(使用EntityConnection)时,我收到一个错误,该错误说明无法使用用户名[UserID]连接到数据库。现在,当我使用以下代码时......

var entityConnection = (EntityConnection)Connection;
var entityConnectionString = entityConnection.StoreConnection.ConnectionString;
var sqlConnectionBuilder = new     SqlConnectionStringBuilder(entityConnectionString);

if (sqlConnectionBuilder.Password == string.Empty)
{
    sqlConnectionBuilder.UserID = [UserID];
    sqlConnectionBuilder.Password = [Password];
}

using (var conn = new SqlConnection(sqlConnectionBuilder.ConnectionString))
conn.Open

这将很好地连接到数据库

0 个答案:

没有答案