Linq到SQL缓存与多用户应用程序

Linq到SQL缓存与多用户应用程序,linq,Linq,我们开发了Win32应用程序,通过LINQtoSQL访问SQL2005数据库。问题是当2个用户访问同一记录(查看和编辑)…用户1更新记录(DataContext.SubmitChanges())时,用户2将继续查看旧信息,直到他重新启动应用程序。所以,我们想更新用户2的上下文…现在出现的解决方案是调用DataContext.Refresh以将对象与SQL表同步…我们想知道是否存在其他解决方案 谢谢我注意到,根据您已经从实体中获取的数据,刷新可能非常糟糕,另一个解决方案是将您正在使用的上下文重置为

我们开发了Win32应用程序,通过LINQtoSQL访问SQL2005数据库。问题是当2个用户访问同一记录(查看和编辑)…用户1更新记录(DataContext.SubmitChanges())时,用户2将继续查看旧信息,直到他重新启动应用程序。所以,我们想更新用户2的上下文…现在出现的解决方案是调用DataContext.Refresh以将对象与SQL表同步…我们想知道是否存在其他解决方案


谢谢

我注意到,根据您已经从实体中获取的数据,刷新可能非常糟糕,另一个解决方案是将您正在使用的上下文重置为新实例

context = new MyDataContext(ConnectionString);

至少在我使用它的场景中,这会减少开销和数据库调用。

我注意到刷新可能非常糟糕,这取决于您已经从实体中获取的数据,另一个解决方案是将您使用的上下文重置为新实例

context = new MyDataContext(ConnectionString);

至少在我使用它的场景中,这会减少开销和数据库调用。

问题在于,当我们要更新附加到以前DataContext实例的实体时。。。DataContext.SubmitChanges调用update nothing,因为未检测到任何更改。。。所以,我认为,我需要将实体重新附加到新的datacontextYes,我承认我也对此感到沮丧,因为一个上下文上的更改悬而未决,这成为一个问题。我开始遇到的一个LINQ怪癖。已确认。3年后刷新仍然很慢。问题是,当我们要更新附加到以前DataContext实例的实体时。。。DataContext.SubmitChanges调用update nothing,因为未检测到任何更改。。。所以,我认为,我需要将实体重新附加到新的datacontextYes,我承认我也对此感到沮丧,因为一个上下文上的更改悬而未决,这成为一个问题。我开始接受的LINQ怪癖之一。证实了这一点。3年后刷新速度仍然很慢