多个edmx文件的Linq-To-Entities连接字符串

时间:2011-12-17 08:07:26

标签: linq entity-framework ado.net edmx

我有一个包含三个edmx文件的dot net 4.0 DAL库项目。我选择将我的数据模型拆分为三个文件,因为我的数据库中有很多表,而且我在Stackoverflow上看到的内容似乎是最佳实践。

但是现在我的App.config中有三个连接字符串条目,基本上使用相同的数据库连接。我可以以某种方式回到旧的ado.net样式,我的配置文件中只有一个连接字符串吗?

谢谢, Jens

1 个答案:

答案 0 :(得分:1)

在您的代码中,您可以使用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,并在每个上更改MetaData属性以指向您的模型。

但请注意,这会导致代码中连接字符串的硬编码部分。