2012-02-14 88 views
2

我正在嘗試使用兩個在不同服務器上保存的匹配數據庫創建沙箱環境。我正在嘗試的是傳遞數據,但只有當管理員給出'好'時。現在,這背後的編碼是好​​的,我有我如何去實現這樣的解決方案,但我很努力做的是有兩個數據類都引用了不同的數據庫,但與之相配的表?衝突的數據類型是否有任何解決方法?

當我試圖把通過LINQ任何形式的數據,我得到了成員已經被定義一次以上的錯誤。

是否有具有匹配的數據類(但點到不同的服務器),而無需更改表名的方法嗎?

+0

你是如何生成的數據類的?你可以在不同的命名空間中生成嗎? – 2012-02-14 11:47:30

+0

數據類自動由LINQ生成?????你能進一步解釋嗎? – Callum 2012-02-14 11:58:22

+1

僅供參考,LINQ到SQL是LINQ自身獨立的 - 你可以使用LINQ與任何舊的集合對象,而不僅僅是數據庫。 – Blorgbeard 2012-02-14 12:00:24

回答

4

如果你的類和數據庫架構之間的映射是正是跨越兩個數據庫一樣,你可以有只是一組類,只是初始化兩個數據上下文和不同的連接字符串訪問數據庫。

下面是使用LINQ到SQL的例子:

var leftConnString = "Data Source=LeftServer;Initial Catalog=MyDatabase"; 
var rightConnString = "Data Source=RightServer;Initial Catalog=MyDatabase"; 

using (var leftContext = new DataContext(leftConnString)) 
{ 
    using (var rightContext = new DataContext(rightConnString)) 
    { 
     // Retrieve entities from 'leftContext' 
     // and persist them in 'rightContext' 
    } 
} 
+0

謝謝!工作過一種享受! – Callum 2012-02-14 14:36:15

+0

@Callum我很高興我可以幫助:) – 2012-02-14 15:03:51