我与断开POCO对象工作。
当我坚持一个对象,它工作正常!
当我要坚持相关对象的问题开始。
例如:
从数据层检索对象:
using (MyContext ctx = new MyContext ())
{
return ctx.Users.First();
}
这个对象可以追溯到业务层和那里,我添加一些子记录,见下文(只是为了ilustrate):
objectUser.Permissions.Add(new Permission());
objectUser.Permissions.Add(new Permission());
权限是对用户权限的导航。
然后,我想保留此objectUser回数据库,然后我做的:
using (MyContext ctx = new MyContext ())
{
ctx.Users.Attach(objectUser);
ctx.ObjectStateManager.ChangeObjectState(objectUser, System.Data.EntityState.Modified);
ctx.SaveChanges();
}
但在使用中第一行,我得到的错误:“具有相同键的对象已经存在于ObjectStateManager的ObjectStateManager不能用相同的密钥跟踪多个目标。”
有谁知道,如果我做错了什么?
我只是想坚持对象及其相关对象。
感谢您帮助我。
路易斯·古斯塔沃
我试图脱离实体,但在这种情况下,我失去所有相关的对象,我需要这些相关的对象,这样我可以添加/删除。
在那之后,我想坚持他们回数据库。
我做一个愚蠢的架构?
路易斯·古斯塔沃