Entity Framework 4.1中缺少DeleteObject方法

时间:2012-02-13 21:05:04

标签: entity-framework c#-4.0 entity-framework-4.1 edmx

这让我发疯了。我收到了错误

  

对象不包含DeleteObject的定义。

以下是产生错误的代码行:

ctx.Tanks.DeleteObject(Tank);

我尝试从我朋友创建的另一个edmx文件中引用另一个对象,然后一切正常,DeleteObject存在。我不认为我错过了我项目中的任何参考资料。

项目本身包含edmx文件,我使用DBContext创建POCO。

有什么想法吗?

2 个答案:

答案 0 :(得分:21)

DbContext API定义的DbSet不是ObjectSetDbSet使用Remove方法而非DeleteObject方法。您需要首先确定要使用的API。如果是ObjectContextDbContext

答案 1 :(得分:0)

  [HttpPost]
        public ActionResult Delete(IEnumerable<int> employeeIdsToDelete)
        {
            var lstemployee = _db.StudentEmployees.Where(x => employeeIdsToDelete.Contains(x.Id));
            foreach (var item in lstemployee)
            {
                _db.StudentEmployees.Remove(item);
            }
            _db.SaveChanges();

            return RedirectToAction("Index");
        }