在我的配置文件中,我有一个应用程序的遗留部分使用的连接字符串(使用数据集)和实体框架的另一个字符串:
<connectionStrings>
<add name="Database" connectionString="Server=..." />
<add name="Entities" connectionString="metadata=.....connection string='Server=..." />
</connectionStrings>
这意味着服务器名称,数据库名称等被指定两次。我想告诉EF连接字符串重用第一个字符串 - 这可能吗?
答案 0 :(得分:16)
我知道这篇文章有点陈旧,但我认为这会帮助那些人:
您可以使用EntityConnectionStringBuilder从现有连接字符串构建EF连接。这是我在自己的代码中使用的示例:
public static string GetEntityFrameworkConnectionString(string clientConnectionString)
{
EntityConnectionStringBuilder entityBuilder = new EntityConnectionStringBuilder();
entityBuilder.Provider = "System.Data.SqlClient";
entityBuilder.ProviderConnectionString = clientConnectionString;
entityBuilder.Metadata = "res://*/Entities.UBTEntities.csdl|res://*/Entities.UBTEntities.ssdl|res://*/Entities.UBTEntities.msl";
return entityBuilder.ToString();
}
因此,当您实例化EF提供程序时,只需将上述方法返回的字符串传入构造函数。
希望这有帮助。
答案 1 :(得分:1)
我认为更好的方法是重构应用程序以仅使用一个连接字符串,而不是尝试在配置文件中引用另一个连接字符串。