如何刷新LINQ类的关系属性?

时间:2010-07-21 18:40:02

标签: linq northwind

我有一个程序操作同一个Northwind数据库的两个实例 当我从其中一个实例向数据库添加一些记录时(例如,将一些订单添加到带有客户外键John的Orders表),我可以正确地从该程序的另一个实例查询这些新记录。当我想使用John.Orders访问这些新记录时,问题就开始了。在这种情况下,程序的第二个实例不会看到新添加的记录。我该怎么办?

1 个答案:

答案 0 :(得分:1)

您遇到的问题可能与您使LINQ to SQL DataContext类保持活动状态的时间有关。它通常应在您使用它的每个工作单元后销毁(因为它遵循'工作单元'设计模式),这通常意味着在每个用例/业务事务之后。

您可能在应用程序的整个生命周期内保持DataContext类的活动。 DataContext类不适用于此类,因为它会缓存一次检索到的所有对象,这意味着您的数据将变得陈旧。

为每个操作或每次用户打开新表单/屏幕时创建一个新的DataContext类。