当数据库中的数据发生更改时,LINQ to SQL不会更新
问题描述:
我遇到此问题,在数据库上更新字段(比如表MyTable中的Field3)后,MyTable.Field3
(在C#中)仍然返回旧值。当数据库中的数据发生更改时,LINQ to SQL不会更新
我怀疑有一些缓存......?
我该如何强制:
从数据库中读取数值?
或
更新MyTable类中的值?
或者有什么我想念的?我是新来的LINQ
谢谢你提前。
答
DataContext.Refresh(System.Data.Linq.RefreshMode.OverwriteCurrentValues, entity);
如果你想刷新你的整个实体集,最简单的方法可能是创建一个新的DataContext并重新查询一切。
它引发此异常: 无法识别指定用于刷新的对象。 显然记录被改变使用 Context.SubmitChanges(); 我可以告诉记录是否正在更新,如何在更新后立即刷新该记录的值? – Aximili 2010-04-19 07:13:27
任何地方有任何示例代码?我甚至不知道我需要谷歌的条款,我应该搜索什么?谢谢 – Aximili 2010-04-19 07:16:10
当你调用SubmitChanges()时,你的对象应该会自己刷新。如果没有,请检查Linq to SQL数据模型中字段上的UpdateMode属性,确保它设置为“自动更新”。 – 2010-04-20 00:14:59