.net 具有长期运行对象上下文的实体框架

.net 具有长期运行对象上下文的实体框架,.net,entity-framework,.net,Entity Framework,我对WinForms(我敢说是WPF)中Linq to SQL的一个主要烦恼是缺乏对长时间运行的数据上下文的支持 问题是,您无法从数据库获取更新,只有在扔掉datacontext之前,您才能获得相同的旧记录。这对于网页仅在毫秒内处于活动状态的web应用程序来说是好的,但对于具有多个绑定控件的winforms应用程序来说则不是那么好,所有绑定控件都固定在旧的datacontext上并位于用户桌面上 我的问题是EF是否仍有此限制,或者您能否在不丢弃对象上下文的情况下从EF获取更新的记录?您可以使用此

我对WinForms(我敢说是WPF)中Linq to SQL的一个主要烦恼是缺乏对长时间运行的数据上下文的支持

问题是,您无法从数据库获取更新,只有在扔掉datacontext之前,您才能获得相同的旧记录。这对于网页仅在毫秒内处于活动状态的web应用程序来说是好的,但对于具有多个绑定控件的winforms应用程序来说则不是那么好,所有绑定控件都固定在旧的datacontext上并位于用户桌面上


我的问题是EF是否仍有此限制,或者您能否在不丢弃对象上下文的情况下从EF获取更新的记录?

您可以使用此方法更新现有上下文。

谢谢。实际上,您可以在Linq to SQL中使用db.Refresh(System.Data.Linq.RefreshMode.KeepChanges,myObjectsCollection),但它会为每个需要刷新的对象发出单独的select查询。您知道ObjectContext.Refresh是否更有效吗?