我遇到这个问题,在数据库上更新了一个字段(比方说表MyTable中的Field3 )之后,MyTable.Field3 (在C#中)仍然返回旧值。
我怀疑有一些缓存...?
我如何强制它:
是否从数据库中读取值?
或
是否更新MyTable类中的值?
还是我错过了什么?我是LINQ新手
提前谢谢你。
发布于 2010-04-19 12:33:23
DataContext.Refresh(System.Data.Linq.RefreshMode.OverwriteCurrentValues, entity);如果您想刷新整个实体集,最简单的方法可能是创建一个新的DataContext并重新查询所有内容。
发布于 2010-04-19 10:40:06
你误解了模型。Linq to SQL不会在您每次请求成员时都传递到数据库。当您从数据库中获取一个对象时,它将作为Linq to SQL对象存储在内存中,并保持不变。在再次查询数据库之前,您无法获得对象的最新版本。
https://stackoverflow.com/questions/2664910
复制相似问题