2010-10-01 28 views
1

我是LINQ2SQL的長期用戶,但尚未使用實體框架。LINQ2SQL vs EF4:實體檢索和來自不同上下文的使用

LINQ2SQL不可能實現的一件事是在不同的數據上下文中使用跟蹤的實體,或者在不同的數據上下文中「鏈接」對象。

例子:

Foo f = null; 

using (var dc = new DB()) 
    f = dc.Foos.Single(x => x.ID = 1); 

using (var dc = new DB()) 
{ 
    var b = new Baz(); 
    dc.Bazs.InsertOnSubmit(b); 
    f.Baz = b; 
    dc.SubmitChanges(); 
} 

注:IIRC,這可以工作,如果使用斷開連接的對象(但IMO這是非常沒用)。

今天我看到一個article on EF4意味着以上的模式可以使用與EF4一起使用。

所以問題是:這實際上是可能的嗎?

+0

能否詳細說明f.Baz? Baz有Foos系列嗎? – 2010-10-01 12:15:00

+0

@亨克霍爾特曼:這只是對另一個實體的引用。它應該無關緊要,如果它是'EntityRef'或'EntitySet'。 – leppie 2010-10-01 12:37:09

回答

1

沒有你不能

你還是老樣子lhave到faff有關與分離和附加到一個新的數據上下文。 不可避免地,您最終會通過使用對象的唯一鍵將其從數據庫中選出來,然後將這些屬性複製到新對象中並將更改保存回來。

悲傷但真實。

我曾經是一個lin2sql迷,我喜歡EF4,雖然經過一段時間的曝光。我喜歡各種形式的繼承 - 他們可以用來做一些有趣的事情。

+0

謝謝,我還沒有機會使用它。 – leppie 2010-10-01 15:54:16

相關問題