【问题标题】:How to refresh relational property of a LINQ class?如何刷新 LINQ 类的关系属性?
【发布时间】:2010-07-21 18:40:01
【问题描述】:

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

【问题讨论】:

  • 你的意思是关系吗?

标签: linq northwind


【解决方案1】:

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

您可能在应用程序的整个生命周期内保持DataContext 类处于活动状态。 DataContext 类不适合这种情况,因为它会缓存它曾经检索过的所有对象,这意味着您的数据将变得陈旧。

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

【讨论】:

  • 在我的真实世界代码中,出于某些原因,我需要保持数据库打开。所以这个解决方案对我不起作用。
猜你喜欢
  • 1970-01-01
  • 2019-12-27
  • 2019-03-16
  • 1970-01-01
  • 2018-06-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多