无法在entity framework中调用DeleteObject – 缺少程序集引用?

我正在尝试删除我的asp.net MVC3 / Code-first Entity Framework应用程序中的对象,但我似乎没有必要的选项,因为它显示“不包含DeleteObject的定义”错误。 任何人都知道我是否错过了assembly参考。 这是我的存储库代码:

private dbContext db = new dbContext(); public void DeleteAccessDetails(AccessDetails details) { db.DeleteObject(details); //error here as DeleteObject isn't recognised } 

以下是我的参考资料:

 using System; using System.Collections.Generic; using System.Linq; using System.Web; using MySite.Models; using System.Data; using System.Data.Objects; using System.Web.Mvc; using System.Data.Entity; 

我认为让System.Data.Entity足以启动DeleteObject,但是intellisense几乎没有提出任何选项 – 只有Dispose,Entry,SaveChanges和Set

编辑:这也是我访问存储库的代码:

 Repository rep = new Repository(); AccessDetails paymentUpdate = rep.GetPaymentByID(item.AccessDetailsTableID); rep.DeleteAccessDetails(paymentUpdate); 

编辑2:这是我的参考文件夹的图像:

在此处输入图像描述

谢谢

EF4.1中DbContext的文档似乎表明它不包含该类的删除方法: http : //msdn.microsoft.com/en-us/library/system.data.entity.dbcontext( v = vs.103).aspx …

这个问题看起来很相似 – 可能有些帮助: MVC 3 EF 4.1 dbContext – 删除具有非可空外键关系的一对多数据对象

DbContext没有DeleteObject()方法。 而不是使用Remove()方法从DbSet清除对象,然后保存更改。

 dbContext db = new dbContext(); // Arrange the context Department dept = db.Departments.Single(p => p.Id == "1"); // Find the item to remove db.Departments.Remove(dept); // Remove from the context b.SaveChanges(); // Delete from the database 

您可以使用以下格式:

 context.Entry(temp).State = EntityState.Deleted; 

Remove()仅适用于DBContext ..

在Mvc 5中,删除列表时使用RemoveRange而不是DeleteObject。

RemoveRange();