2012-02-27 23 views

回答

3

您必須配置您的查詢或對象集,以強制實現結果集的實現,而不是使用身份映射中的已實體化實體。

context.YourObjectSet.MergeOption = MergeOption.OverwriteChanges; 
// now execute the query as many times as you want 

var query = ...; 
((ObjectQuery<YourEntity>)query).MergeOption = MergeOption.OverwriteChanges; 
+0

+1好知道。 MergeOption是一個有點意外的名字來強制執行緩存覆蓋,但嗯,它的工作原理。我正在嘗試使用RefreshMode.StoreWins進行ObjectContext.Refresh,並且很困惑,看到那個按鈕沒有按預期工作。 – 2012-02-28 12:45:16

+0

它不適合我(EF6.0)。我找不到MergeOption屬性。我想EF中有一些突破性的變化。這個答案很有用:http://stackoverflow.com/a/4911591/1131855 – 2014-05-23 08:43:11

+0

@MaximEliseev:'MergeOption'是原始ObjectContext API的一個特性。您正在使用更新的API。 – 2014-05-23 09:48:33