用于多个edmx文件的Linq-to-Entities连接字符串
问题描述:
我有一个包含三个edmx文件的dot net 4.0 DAL库项目。我选择将数据模型分成三个文件,因为我的数据库中有很多表,从我在*上阅读的内容看,这似乎是最佳做法。用于多个edmx文件的Linq-to-Entities连接字符串
但现在我在我的App.config中有三个连接字符串条目,基本上使用相同的数据库连接。我可以以某种方式返回旧的ado.net样式,只有一个连接字符串在我的配置文件中?
感谢, 延
答
在你的代码可以使用EntityConnectionStringBuilder从该存储在用户配置文件中的“常规”连接字符串建立三个单独的连接字符串。
你会得到这样的:
string providerString = <load your connection string>;
// Initialize the EntityConnectionStringBuilder.
EntityConnectionStringBuilder entityBuilder =
new EntityConnectionStringBuilder();
//Set the provider name.
entityBuilder.Provider = providerName;
// Set the provider-specific connection string.
entityBuilder.ProviderConnectionString = providerString;
// Set the Metadata location.
entityBuilder.Metadata = @"res://*/AdventureWorksModel.csdl|
res://*/AdventureWorksModel.ssdl|
res://*/AdventureWorksModel.msl";
您可以创建三个EntityConnectionStrings和改变每一个元数据属性指向你的模型。
但请注意,这将导致代码中的连接字符串的硬编码部分。
伟大的这正是我需要的。非常感谢。 – 2011-12-17 08:50:45