C# DataContext.Refresh()的正确用法是什么?
我在内存中有一个LinqToSql对象,它在数据库中的字段值在对象的生命周期内会发生变化。因此,我需要定期检查所有内容是否仍然同步。我希望能够这样做:C# DataContext.Refresh()的正确用法是什么?,c#,linq,linq-to-sql,C#,Linq,Linq To Sql,我在内存中有一个LinqToSql对象,它在数据库中的字段值在对象的生命周期内会发生变化。因此,我需要定期检查所有内容是否仍然同步。我希望能够这样做: myDataContext.Refresh(RefreshMode.KeepCurrentValues, myObj); 但不幸的是,这似乎没有效果;即使DB值发生变化,myObj上的值也保持不变。这是相当少的。有人能告诉我这里缺少什么吗?如果希望刷新对象的当前值与数据库中的当前值相匹配,则需要使用刷新模式。改为覆盖当前值。如果要用最新值“刷新
myDataContext.Refresh(RefreshMode.KeepCurrentValues, myObj);
但不幸的是,这似乎没有效果;即使DB值发生变化,
myObj
上的值也保持不变。这是相当少的。有人能告诉我这里缺少什么吗?如果希望刷新对象的当前值与数据库中的当前值相匹配,则需要使用刷新模式。改为覆盖当前值。如果要用最新值“刷新”实体,然后合适的方法是RefreshMode.KeepChanges
或RefreshMode.OverwriteCurrentValues
KeepChanges
将保留任何本地更改的值<代码>覆盖当前值
将从数据库中获取所有值
当心
ChangeConflictException
s.aaaaaggggghhhh!真不敢相信我错过了![blushes deep scarlet]似乎没有更新映射到另一个表的关联集合属性。它只更新映射到当前实体指向的表列的属性。