일부 엔티티를 데이터베이스 컨텍스트에 삽입하고 삭제하려고합니다.데이터베이스 컨텍스트 삽입 및 삭제 버그
내가 지금 당장 가지고있는 문제는 삭제하려고 할 때 오류가 발생한다는 것입니다.
System.InvalidOperationException : The object cannot be deleted because it was not found in the ObjectStateManager.
그래서 내가 봤과 내가
System.InvalidOperationException : An object with the same key already exists in the
ObjectStateManager. The ObjectStateManager cannot track multiple objects with the same
key.
그래서 어느 쪽이든, 그것이 작동하지를 가지고 있음을 한 후 사람들은 엔티티에() .attach 전화 말해 - -
을 일부 코드 :
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 (item);'을'dbcDelete.WebPointOrderHeads.Remove (deleteItem);'로 대체하면 작동합니까? – rfernandes