我試圖插入一些實體到數據庫上下文並刪除它。數據庫上下文插入和刪除錯誤
我現在遇到的麻煩是當我試圖刪除它,它給了我這個錯誤。
System.InvalidOperationException : The object cannot be deleted because it was not found in the ObjectStateManager.
所以我一派,人們告訴我打電話給.attach()的實體,之後我做了,我得到了
System.InvalidOperationException : An object with the same key already exists in the
ObjectStateManager. The ObjectStateManager cannot track multiple objects with the same
key.
所以無論哪種方式,它不工作 - -
一些代碼:
public void delete(WebPointOrderHead item)
{
WebDataEntities3 dbcDelete = this.dbc;
WebPointOrderHead deleteItem = dbcDelete.WebPointOrderHeads.Where(p => (p.OrderID == item.OrderID)).First();
dbcDelete.WebPointOrderHeads.Remove(item) ;
dbcDelete.SaveChanges();
}
public void insert(WebPointOrderHead item)
{
WebDataEntities3 dbcinsert = this.dbc;
WebPointOrderHead itemToAdd = BusinessLogic.calculatePoints(item, dbcinsert);
var IDs = from id in dbcinsert.WEBIDs
where id.TableName.Equals("PointOrder_ID")
select id;
IDs.First().NextID++;
var highestID = (from c in dbcinsert.WebPointOrderHeads
select c.OrderID).Max();
itemToAdd.OrderID = highestID + 1;
dbcinsert.WebPointOrderHeads.Add(itemToAdd);
dbcinsert.SaveChanges();
}
如果您用'dbcDelete.WebPointOrderHeads.Remove(deleteItem);'替換'dbcDelete.WebPointOrderHeads.Remove(item);'它會工作嗎? – rfernandes