0

我的程序(用C#編程的WCF服務)必須訪問多個sql服務器組和這些組(sql server)中的數據庫。它看起來像LINQ 2 SQL絕對不支持這一點,除非我爲每個數據庫創建多個數據類,並且它看起來像實體框架在同一條船上。.net - 訪問多個sql服務器組/數據庫

你將如何去設置你的應用程序必須訪問多個未鏈接的sql服務器組?

我想我可以使用SqlConnection和SqlCommand並創建一些類來處理它。如果我走這條路線,我將如何使用查詢的結果填充我的模型類? (我不想使用數據表,而是List<T>

I.E.

Server1 
- database 1 
- database 2 
Server2 
- database 3 
- database 4 

我的程序必須訪問數據庫1和數據庫4,它們沒有鏈接/不會被鏈接。

回答

1

您可以使用EF或LinqToSql訪問每個數據庫。您的服務將像經紀商一樣工作。它將收集來自不同數據庫的結果並構建具有完整數據的DTO。

編輯:

如果你有相同名稱的SP可以重用單EF模型。如果您有不同名稱的SP,則可以爲每個數據庫創建模型。這些實體實際上是相同的,因此您可以使用將實體從模型映射到您的POCO類的POCO方法(僅EF 4.0)。 POCO課程將被所有模型使用。

+0

這是真的,但從我的理解,我將不得不爲每個數據庫創建一個新的linq 2 sql或EF文件......我試圖避免這樣做。我希望他們分享相同的DTO。 – 2010-08-25 13:29:10

+0

這些數據庫具有相同的結構?所以你想從這些數據庫中提取相同的數據? – 2010-08-25 13:35:17

+0

不,數據庫結構完全不同,但SP的我想調用別名字段以適應模型對象。 I.E.查詢一個數據庫中的地址時會查看不同的表,而不是查詢另一個數據庫中的地址,但SP將返回相同的字段名稱以填充同一對象模型。 – 2010-08-25 13:38:11