.NET 4,EF 4
我有两个相关的实体,Order和OrderLine。订单包含(有参考)OrderLine。
Public Class Order
Public Property OrderLine
End Class
数据库中的每个实体都有一个表(订单表,订单行表)。每个表都有一个时间戳列,EF4模型使用ConcurrencyMode = Fixed设置为每列的时间戳表。
我对订单进行了更改,但保持OrderLine不变。当我调用SaveChanges时,看起来EF4会为OrderLine生成更新查询,即使它没有任何变化。最终结果是OrderLine的时间戳由数据库更新以响应EF4 Update命令,但没有其他任何更新,因为OrderLine上没有任何更改。
这是EF4应该处理的方式吗?如果是,为什么?
答案 0 :(得分:1)
This is a known bug in EF4,您可以尝试与MS联系以获取修补程序。您可以在保存,保存,然后重新附加实体作为变通方法之前分离未修改的实体。据我所知,它似乎已在.NET Framework 4.5的开发人员预览版中修复,但未获得生产使用许可。