DataContext.Refresh()的正确用法是什么



我在内存中有一个LinqToSql对象,它在数据库中的字段值预计会在对象的生存期内更改。因此,我需要定期检查一切是否仍处于同步状态。我希望能够这样做:

myDataContext.Refresh(RefreshMode.KeepCurrentValues, myObj);

但不幸的是,这似乎没有任何效果;即使当DB值已经改变时,CCD_ 1上的值也保持相同。关于这种方法的MSDN文档非常少。有人能告诉我我在这里缺了什么吗?

如果希望刷新对象的当前值与数据库中的当前值匹配,则需要使用RefreshMode.OverwriteCurrentValues模式。

如果您想用最新的值"刷新"实体,那么合适的模式应该是RefreshMode.KeepChangesRefreshMode.OverwriteCurrentValues

KeepChanges将保留任何本地更改的值。OverwriteCurrentValues将从数据库中获取所有值。

小心ChangeConflictException s。

相关内容

  • 没有找到相关文章

最新更新