Linq更新问题

时间:2009-10-09 19:49:35

标签: asp.net linq

我有一个用户和管理员部分的应用程序。如果管理员在sql datasource的帮助下更新数据,那么它会更新数据库。但是,当我们使用linq查询检索数据时,它会显示其旧值而不是更新值。

一段时间后,linq查询会自动显示正确的值。

我认为它缓存了价值,但我发现自己无能为力。请帮帮我。

2 个答案:

答案 0 :(得分:0)

确保您有效地使用DataContext(理想情况下,每单位工作一次)。

每次更新后,请务必致电DataContext.SubmitChanges();将更改提交回数据库。

另请注意,您在更改添加到其他上下文和调用SubmitChanges()之间实例化的任何上下文都不会反映这些更改。

答案 1 :(得分:0)

当你说

  

当我们使用linq查询检索数据时

你的意思是你再次调用你的select方法,还是你在内存对象中使用当前的?

在任何一种情况下,您始终可以使用以下内容刷新实体

Context.Refresh(System.Data.Linq.RefreshMode.OverwriteCurrentValues, entity)