2014-10-10 72 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();