码迷,mamicode.com
首页 > 其他好文 > 详细

EF 4.0 更新数据时候的一个错误及其处理

时间:2015-08-03 18:18:16      阅读:103      评论:0      收藏: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;
        }

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

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

EF 4.0 更新数据时候的一个错误及其处理

标签:

原文地址:http://www.cnblogs.com/liuruitao/p/4699627.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!