|
|
1
9
我找到了以下解决这个问题的方法: 1)获取和更新实体(我将使用这种方式,因为这对我来说没问题)
2)禁用ObjectTrackingEnabled,如下所示
3)分离所有相关对象
4)在列中使用时间戳
5)创建用于更新数据的存储过程并通过DB上下文调用它 |
|
2
3
当没有rowversion列时,不能将修改后的实体附加到DataContext。相反,只要维护数据更改的副本,就可以在应用程序中存储原始实体。然后,当需要保存更改时,可以将原始实体附加到DataContext,更改其值以匹配修改后的实体值并提交更改。 下面是一个例子:
更新: 数据库中有一个表,列ID、名称、注释
|
|
3
2
关于这个话题有个讨论 here at MSDN s 建议使用ISVersion字段和Attach方法 |
|
|
4
2
通过使用此重载,可以附加未附加的修改实体:
请注意,要使其工作,您需要在表中输入“timestamp”类型的“version”列。 |
|
|
5
1
这是我的知识库类中用于更新实体的函数
Tentity是您的DB类,根据您的设置,您可能只想这样做。
|
|
|
6
0
使用此扩展方法更新列属性的所有属性:
我的意思是,首先从数据库中恢复原始数据,使用该方法将新元素中的所有列属性映射到原始数据,最后进行提交。 我希望这有帮助。 |