0
请你能告诉我我错在哪里。我有下面的代码:实体关系对象更新
public void UpdateClient(Client oClient)
{
foreach(Mitarbeiter item in oClient.Mitarbeiters)
{
if (item.MiID==0)
{
context.Mitarbeiters.AddObject(item);
}
else {
var key = context.CreateEntityKey("Mitarbeiters",item);
object original;
if (context.TryGetObjectByKey(key,out original))
{
context.ApplyCurrentValues(key.EntitySetName,item);
}
}
}
context.Clients.First(c => c.ClID == oClient.ClID);
context.Clients.ApplyCurrentValues(oClient);
context.SaveChanges();
} 我收到
与已经在ObjectStateManager存在相同的密钥的对象。 ObjectStateManager不能使用同一个键跟踪多个对象。
当我添加一个新的对象来Mitarbeiters
感谢Slauma,你是对的。我只需要在调用AddObject之前设置item.Client = null。 – Tiho 2011-05-26 11:56:08