我试图实现乐观并发检查实体框架的实体更新。我使用通用资源库和工作模式单元。忽略时间戳
我已经介绍了时间戳的归属特性(如字节数组)到我的实体,每当我更新数据,自动增加值(好像是数据库管理,这是它应该做的)。
我通过(使用automapper)的VM映射到实际模型加载从一个视图模型的更新的值。这将导致所有的设置(包括时间戳)的根据字段正确类型的实体的一个新的(分开?)实例。
更新本身就像
i_oOldEntity = m_oDbSet.Find(i_oEntity.MaterialId)
context.Entry(i_oOldEntity).CurrentValues.SetValues(i_oEntity)
context.SaveChanges()
与i_oEntity作为automapped实体执行。
这将更新值本身很好,但是它完全忽略时间戳值从视图模型来。生成的SQL代码使用WHERE子句中的最新rowversion值。
总之:我如何才能从EF WHERE子句中使用我的视图模型时间戳值?