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

3

我有一个dot net 4.0的DAL库项目,其中包含三个edmx文件。我选择将数据模型分成三个文件,因为我的数据库中有很多表格,在Stackoverflow上读到的最佳实践是这样做。

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

谢谢, Jens

1个回答

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属性以指向您的模型。

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接