自跟踪实体不保存原始属性值。因此,当您调用ApplyChanges时,所有属性都会标记为已修改。但我需要记录实际更改的属性。我尝试使用ApplyOriginalValues,但在这种情况下,AcceptChanges会在查找实体重复时抛出异常。有没有办法让STE保持原始价值?
答案 0 :(得分:0)
在此处找到了解决方案:http://social.msdn.microsoft.com/Forums/en-US/adonetefx/thread/cda357cf-e69b-42d0-88bd-e8a598bad25e
答案 1 :(得分:0)
生成的自我跟踪模板正在跟踪更改,但不保存不属于EntityKey的属性的原始值,不是外键或其 ConcurrencyMode 属性未设置为已修复即可。
我需要为我的一个属性启用此值跟踪,因此我决定将其ConcurrencyMode属性设置为Fixed,以便它现在跟踪原始值。
此更改的副作用是生成的UPDATE SQL语句将在其WHERE子句中包含对此属性的原始值的检查。