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