实体框架SaveChanges保存未更改的记录(通过存储过程映射)

时间:2012-12-10 20:13:06

标签: entity-framework

我在附加了2个实体的上下文中调用saveChanges。实体“A”接收其值的更新,“B”不会更改。

当我在SaveChanges之前暂停代码时,检查'B'实体并显示“EntityState = Unchanged(2)”。

我让代码完成运行,最终得到了映射到'B'实体更新执行的存储过程。

我预计这不会发生,为什么?

由于 GORD

EF 4.0.30319

1 个答案:

答案 0 :(得分:0)

我怀疑这个问题与that one重复。

重复那里给出的答案:

这是在以下情况下发生的问题:

  • 在.NET Framework 4.0版上运行实体框架;
  • 使用自定义映射SQL代码;

可以通过以下三种方式之一解决问题:

  • MS KB 2390624上描述的Microsoft获取并部署此修补程序 - 该请求需要Microsoft提供的付费帮助(例如通过公司支持合同);
  • 升级到.NET 4.5(如果您不必再担心Windows XP,则只有一个选项);
  • 升级到Entity Framework 6(目前处于测试阶段,但我希望它不会出现该错误);