EntityFramework长时间运行ObjectContext:如何检测ObjectContext未跟踪的数据源更改

时间:2011-04-01 10:44:10

标签: entity-framework

在我的ObjectContext生命期间,我收到一条消息,告诉我一个新实体已被其他进程添加到数据源(即我的ObjectContext没有跟踪)。如何在不重新创建的情况下将此实体添加到本地ObjectContext?

我看过ObjectContext.Refresh(),但我不确定这是否是正确的前进方式。

2 个答案:

答案 0 :(得分:1)

如果您的代码中有实体,请使用Attach方法 如果您的代码中没有此对象,则解决方案确实是使用StoreWins RefreshMode为添加了对象的集合调用Refresh方法。
我建议你也看一下Self-Tracking Entities

答案 1 :(得分:0)

答案不在问题标题中 - 长时间运行的对象上下文在EF中不是一个好主意。理想情况下,OC应该尽可能短的时间保持活着。