2012-02-27 54 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