实体框架 - 为构造函数提供连接字符串

时间:2012-07-15 09:44:41

标签: entity-framework

我在我的C#项目中使用EF。我们即将添加其他数据库与其他连接字符串的客户端 没有必要在DB之间同步 我尝试使用以下c'tor(提供的3个中的第2个):

 public AppEntities(string connectionString)

我收到以下错误:'不支持关键字:'数据源'。' 连接字符串如下:

metadata=res://EntityFramework/App.csdl|res://EntityFramework/App.ssdl|res://EntityFramework/App.msl;provider=System.Data.SqlClient;provider connection string="Data Source=dbname\dbname;Initial Catalog=App;Persist Security Info=True;User ID=User;Password=password;MultipleActiveResultSets=True"

这是从App.Config获取时使用的相同连接字符串。我不想从那里拿它,而是自己构建它(因此在我的应用程序代码中保留用户名和密码硬编码而不是自由文本。
任何的想法?

感谢。

1 个答案:

答案 0 :(得分:3)

connectionstring参数不是Entity Framework Connectionstring(如.config文件中),但必须是“普通”.net连接字符串。

该链接的示例显示了如何将ef连接字符串“转换”为普通连接字符串(使用 EntityConnectionStringBuilder.ToString()方法)。如果您传递app.config的未准备好的字符串,您将收到上述错误。

您可以使用EntityConnectionStringBuilder来解析app.config值并进行转换。

希望有所帮助。