Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# DataContext.Refresh()的正确用法是什么?_C#_Linq_Linq To Sql - Fatal编程技术网

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

C# DataContext.Refresh()的正确用法是什么?,c#,linq,linq-to-sql,C#,Linq,Linq To Sql,我在内存中有一个LinqToSql对象,它在数据库中的字段值在对象的生命周期内会发生变化。因此,我需要定期检查所有内容是否仍然同步。我希望能够这样做: myDataContext.Refresh(RefreshMode.KeepCurrentValues, myObj); 但不幸的是,这似乎没有效果;即使DB值发生变化,myObj上的值也保持不变。这是相当少的。有人能告诉我这里缺少什么吗?如果希望刷新对象的当前值与数据库中的当前值相匹配,则需要使用刷新模式。改为覆盖当前值。如果要用最新值“刷新

我在内存中有一个LinqToSql对象,它在数据库中的字段值在对象的生命周期内会发生变化。因此,我需要定期检查所有内容是否仍然同步。我希望能够这样做:

myDataContext.Refresh(RefreshMode.KeepCurrentValues, myObj);

但不幸的是,这似乎没有效果;即使DB值发生变化,
myObj
上的值也保持不变。这是相当少的。有人能告诉我这里缺少什么吗?

如果希望刷新对象的当前值与数据库中的当前值相匹配,则需要使用
刷新模式。改为覆盖当前值。

如果要用最新值“刷新”实体,然后合适的方法是
RefreshMode.KeepChanges
RefreshMode.OverwriteCurrentValues

KeepChanges
将保留任何本地更改的值<代码>覆盖当前值
将从数据库中获取所有值


当心
ChangeConflictException
s.

aaaaaggggghhhh!真不敢相信我错过了![blushes deep scarlet]似乎没有更新映射到另一个表的关联集合属性。它只更新映射到当前实体指向的表列的属性。