自我跟踪实体的原始值

时间:2010-10-12 17:01:01

标签: c# .net entity-framework

自跟踪实体不保存原始属性值。因此,当您调用ApplyChanges时,所有属性都会标记为已修改。但我需要记录实际更改的属性。我尝试使用ApplyOriginalValues,但在这种情况下,AcceptChanges会在查找实体重复时抛出异常。有没有办法让STE保持原始价值?

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

生成的自我跟踪模板正在跟踪更改,但不保存不属于EntityKey的属性的原始值,不是外键或其 ConcurrencyMode 属性未设置为已修复即可。

我需要为我的一个属性启用此值跟踪,因此我决定将其ConcurrencyMode属性设置为Fixed,以便它现在跟踪原始值。

此更改的副作用是生成的UPDATE SQL语句将在其WHERE子句中包含对此属性的原始值的检查。