2014-10-10 4 views
0

EntityFramework의 DbSet을 사용하여 데이터베이스에서 개체를 삭제하려고합니다. 다음과 같이 코드는 다음과 같습니다EntityFramework - DbSet을 사용하여 엔터티를 삭제할 수 없습니다.

나는 다음과 같은 오류 얻을
var dbObject = FindById(id); 
_masterDb.DbTable.Remove(dbObject); 
_masterDb.SaveChanges(); 

". 그것이 ObjectStateManager에서 찾을 수 없습니다 때문에 개체가 삭제 할 수 없습니다"

누군가 내가 잘못하고있는 것을 말해 줄 수 있습니까?

+1

확인이 하나 http://stackoverflow.com/questions/15637965/the-object-cannot-be-deleted-because-it-was-not-found-in :

이 작동합니까 -the- objectstatemanager – Sefa

+0

고마워요! – COBOL

답변

2

아마도 엔티티가 동일한 컨텍스트에 연결되어 있지 않을 수 있습니다.

var dbObject = FindById(id); 
_masterDb.DbTable.Attach(dbObject); 
_masterDb.DbTable.Remove(dbObject); 
_masterDb.SaveChanges(); 
관련 문제