zoukankan      html  css  js  c++  java
  • EF 更新数据出现 System.Data.Entity.Infrastructure.DbUpdateConcurrencyException: 异常

    EF6更新 数据出现 System.Data.Entity.Infrastructure.DbUpdateConcurrencyException: Store update, insert, or delete statement affected an unexpected number of rows (0)....异常

    先还原一下问题出现的场景;

    首先,获取 数据倒view显示,并绑定到文本框显示,点击提交时候,出现上面异常信息;

    数据更新错误,通常包含以下几种:

    1,DbEntityValidationException

    2,DbUpdateConcurrencyException(以上错误将被该异常捕获)

    情况一:往往是数据格式不正确,比如,int32类型不可为空,却绑定null值,等等

    情况二:也是本次要重点说的情况,可能情况有以下几种

        1,数据并发情况下,多人客户端对同一条数据同时操作,如果是先delete,再update,那么,一定是会出现以上错误,反之,如果是先update再delete,完全不成问题,详见。。。。走马观花的博客 搜索标题中的异常信息。

        2,就是本次要说的,也是本人遇到的问题,对于模型中,创建了并发标识字段,timestamp,此时,进行数据编辑的时候,

    一定要注意,页面上一定要带上该字段值。否则必然出现以上错误,原因很简单,如果不带上这个标识,此时,更新数据 上下文中会检索并发标识,此时找不到相应实体信息的并发标识,可以理解……可以说提升到了并发的高度了吧,找不到同条数据,问题便会出现。

    那么解决方法就有了,view中添加标识的隐藏字段即可,在编辑的时候将原数据的标识绑定上,后台提交数据时,重新赋值到实体。即可提交成功。

      

  • 相关阅读:
    奥一新源科技 面试总结
    腾讯实习 面试总结
    图片预加载 解决图片加载闪动问题
    “-webkit-font-smoothing”
    onselectstart
    jquery 高级 学习笔记
    css 样式重置
    《响应式Web设计—HTML5和CSS3实战》 学习记录
    shift、unshift、 push、pop用法--JavaScript参考手册
    《JavaScript DOM 编程艺术 》 笔记
  • 原文地址:https://www.cnblogs.com/Tmc-Blog/p/4954153.html
Copyright © 2011-2022 走看看