Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 实体框架更新无跟踪实体_Asp.net Mvc_Entity Framework_Repository Pattern - Fatal编程技术网

Asp.net mvc 实体框架更新无跟踪实体

Asp.net mvc 实体框架更新无跟踪实体,asp.net-mvc,entity-framework,repository-pattern,Asp.net Mvc,Entity Framework,Repository Pattern,如何更新通过AsNoTracking()从上下文分离的实体 并且我的更新方法已设置为“已修改”: public virtual void Update(T entity) { dbset.Attach(entity); dataContext.Entry(entity).State = System.Data.Entity.EntityState.Modified; } 我能找到datacontext附加的上一个实体吗?或

如何更新通过
AsNoTracking()
从上下文分离的实体

并且我的更新方法已设置为“已修改”:

public virtual void Update(T entity)
    {            
        dbset.Attach(entity);
        dataContext.Entry(entity).State = System.Data.Entity.EntityState.Modified;
    }

我能找到datacontext附加的上一个实体吗?或任何阻止跟踪我的用户实体的建议?

您可以更改实体的状态:

ctx.Entry(_agency).State = System.Data.Entity.EntityState.Modified;
ctx.SaveChanges();

更多阅读或文章。

您正在更改的是什么以及实际结果是什么?事实上,我在更新()时遇到了“附加类型为“Project.Domain.Entities.Agency”的实体失败,因为相同类型的另一个实体已经具有相同的主键值”的错误因此,我尝试分离实体以解决问题,但现在更新什么也不做。不需要调用
Attach
,因为
Entry
方法已经在内部附加了实体(如果尚未附加)。那么,为什么什么都没有更新?更改是什么?另外,您正在调用
SaveChanges()
?这并不能解决我的问题。我仍然收到错误:“无法将角色自动添加到上下文中,因为它是使用NoTracking合并选项检索的。”
ctx.Entry(_agency).State = System.Data.Entity.EntityState.Modified;
ctx.SaveChanges();