【发布时间】:2011-01-07 01:48:57
【问题描述】:
我正在使用 Linq to Sql 来查询一些数据库,我只使用 Linq 从数据库中读取数据,并通过其他方式对其进行更改。 (这是无法更改的,这是我们正在扩展的应用程序的限制,所有更新都必须通过它的 sdk)。
这很好,但是我遇到了一些缓存问题,基本上,我使用 Linq 查询一行,然后通过外部方式删除它,然后如果我再次使用 linq i 查询该行,我在外部创建一个新行得到旧的(缓存的)数据。
我无法关闭对象跟踪,因为这似乎会阻止数据上下文自动加载关联的属性(外键)。
有什么方法可以清除 DataContex 缓存吗?
我找到了一种绕过网络的方法,但它似乎并不安全:http://blog.robustsoftware.co.uk/2008/11/clearing-cache-of-linq-to-sql.html
你怎么看?我有什么选择?
【问题讨论】:
-
重新创建一个新的 DataContext 怎么样?
标签: c# linq-to-sql caching