zoukankan      html  css  js  c++  java
  • EF 4.0 更新数据时候的一个错误及其处理

    错误如图:

    修改下方法后可以进行更新了。但是中间多了一步查询

     /// <summary>
            /// 更新一个产品分类
            /// </summary>
            /// <param name="model"></param>
            /// <returns></returns>
            public bool UpdateBindClass(DataDicContent model)
            {
                var entry = DBENT.Entry(model);
                if (entry.State == EntityState.Detached)
                {
                    var set = DBENT.Set<DataDicContent>();
                    DataDicContent attachedProduct = set.Local.SingleOrDefault(p =>p.ID==model.ID);
                    //如果已经被上下文追踪
                    if (attachedProduct != null)
                    {
                        var attachedEntry = DBENT.Entry(attachedProduct);
                        attachedEntry.CurrentValues.SetValues(model);
                    }
                    else //如果不在当前上下文追踪
                    {
                        entry.State = EntityState.Modified;
                    }
                }
                if (DBENT.SaveChanges() > 0)
                {
                    return true;
                }
                return false;
            }

    奇怪的是,不知道为什么用原来的方法会出错。

    别的表的更新也是这么写的却没有错误。
    暂时没时间深究错误原因,先找到解决方案再说,等有时间再深究这个问题。

  • 相关阅读:
    Spring入门第二十九课
    Spring入门第二十八课
    Spring入门第二十七课
    Spring入门第二十六课
    Spring入门第二十五课
    Spring入门第二十四课
    Spring入门第二十三课
    Spring入门第二十二课
    Spring入门第二十一课
    Spring入门第二十课
  • 原文地址:https://www.cnblogs.com/liuruitao/p/4699627.html
Copyright © 2011-2022 走看看