2011-12-17 129 views
3

我有一個包含三個edmx文件的dot net 4.0 DAL庫項目。我選擇將數據模型分成三個文件,因爲我的數據庫中有很多表,從我在Stackoverflow上閱讀的內容看,這似乎是最佳做法。用於多個edmx文件的Linq-to-Entities連接字符串

但現在我在我的App.config中有三個連接字符串條目,基本上使用相同的數據庫連接。我可以以某種方式返回舊的ado.net樣式,只有一個連接字符串在我的配置文件中?

感謝, 延

回答

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和改變每一個元數據屬性指向你的模型。

但請注意,這將導致代碼中的連接字符串的硬編碼部分。

+0

偉大的這正是我需要的。非常感謝。 – 2011-12-17 08:50:45