2014-10-10 26 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 2014-10-10 13:26:12

+0

感謝這工作! – COBOL 2014-10-10 13:30:06

回答

2

實體可能未附加到相同的上下文中。

這是否工作:

var dbObject = FindById(id); 
_masterDb.DbTable.Attach(dbObject); 
_masterDb.DbTable.Remove(dbObject); 
_masterDb.SaveChanges();