我有两个程序实例可以操作同一个Northwind数据库。 当我从其中一个实例向数据库添加一些记录时(例如,使用客户外键向ORDERS表添加一些订单) John ,我可以从程序的其他实例正确查询这些新记录。当我想使用 John.Orders . 在这种情况下,程序的第二个实例看不到新添加的记录。我该怎么办?
John
John.Orders
您遇到的问题可能与您保留Linq to SQL的时间有关 DataContext 活生生的班级它通常应该在您处理它的每个工作单元之后被销毁(因为它遵循“工作单元”设计模式),这通常意味着在每个用例/业务事务之后。
DataContext
你可能把 数据上下文 类在应用程序的整个生命周期内都是活动的。这个 数据上下文 类不适合这样做,因为它将缓存它检索到的所有对象,这意味着数据将过时。
数据上下文
创建新的 数据上下文 为每次操作或每次用户打开一个新窗体/屏幕初始化。