1

我在我的 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 获取时使用的连接字符串相同。我不想从那里拿走它,而是自己构建它(因此将用户名和密码硬编码在我的应用程序代码中而不是自由文本中。
知道吗?

谢谢。

4

1 回答 1

3

connectionstring 参数不是实体框架连接字符串(如 .config 文件中),但它必须是“正常”的 .net 连接字符串。

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

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

希望有帮助。

于 2012-07-15T09:52:52.247 回答