objectstatemanager 中已存在具有同一键的对象。objectstatemanager 无法跟踪具有相同键的多个对象。

今天用entityframework去更新数据库里面的信息,遇到了此错误。

去网上找了 很久:发现了三个方案,我用的是第一个解决的【先记录下来】

                                                                    1,

public virtual void Update(TEntity entityToUpdate)
        {
            using(CDbContext context = new CDbContext())
            {
                context.Set<TEntity>().Attach(entityToUpdate);
                context.Entry(entityToUpdate).State = EntityState.Modified;
                context.SaveChanges();
            }
        }

//建议每次用using块解决问题,而不是用一个context,这样容易引发问题。

这个源码是:http://social.msdn.microsoft.com/Forums/zh-CN/da7777d4-1130-4fb4-8dad-fe8e8feeb751/objectstatemanager-objectstatemanager-?forum=adonetzhchs 
                                                                       2, 我没有尝试这个解决办法 大家移步:

        

http://gflpower.blog.163.com/blog/static/15720942010111634553781/

                                                                        3,同样移步

http://www.cnblogs.com/charje/archive/2012/02/27/entity_framework_objectstatemanager.html




posted on 2014-07-31 09:43  狂奔的冬瓜  阅读(154)  评论(0编辑  收藏  举报