我有一个程序操作同一个Northwind数据库的两个实例
当我从其中一个实例向数据库添加一些记录时(例如,将一些订单添加到带有客户外键John
的Orders表),我可以正确地从该程序的另一个实例查询这些新记录。当我想使用John.Orders
访问这些新记录时,问题就开始了。在这种情况下,程序的第二个实例不会看到新添加的记录。我该怎么办?
答案 0 :(得分:1)
您遇到的问题可能与您使LINQ to SQL DataContext
类保持活动状态的时间有关。它通常应在您使用它的每个工作单元后销毁(因为它遵循'工作单元'设计模式),这通常意味着在每个用例/业务事务之后。
您可能在应用程序的整个生命周期内保持DataContext
类的活动。 DataContext
类不适用于此类,因为它会缓存一次检索到的所有对象,这意味着您的数据将变得陈旧。
为每个操作或每次用户打开新表单/屏幕时创建一个新的DataContext
类。