我有一个内存中的LinqToSql对象,期望在对象的生命周期内数据库中的字段值会发生变化。因此,我需要定期检查是否仍然同步。我原本期望可以这样做:
myDataContext.Refresh(RefreshMode.KeepCurrentValues, myObj);
但不幸的是,这似乎没有任何效果;即使DB的值已更改,myObj
上的值仍保持不变。 该方法的MSDN文档相当简略。 有人能告诉我这里缺少了什么吗?
我有一个内存中的LinqToSql对象,期望在对象的生命周期内数据库中的字段值会发生变化。因此,我需要定期检查是否仍然同步。我原本期望可以这样做:
myDataContext.Refresh(RefreshMode.KeepCurrentValues, myObj);
但不幸的是,这似乎没有任何效果;即使DB的值已更改,myObj
上的值仍保持不变。 该方法的MSDN文档相当简略。 有人能告诉我这里缺少了什么吗?
RefreshMode.OverwriteCurrentValues
模式。RefreshMode.KeepChanges
或RefreshMode.OverwriteCurrentValues
。
KeepChanges
将保留任何本地更改的值。 OverwriteCurrentValues
将从数据库中获取所有值。ChangeConflictException
。