Entity framework 实体框架4.1中缺少DeleteObject方法
这让我快发疯了。我得到一个错误 对象不包含DeleteObject的定义 以下是产生错误的代码行:Entity framework 实体框架4.1中缺少DeleteObject方法,entity-framework,c#-4.0,entity-framework-4.1,edmx,Entity Framework,C# 4.0,Entity Framework 4.1,Edmx,这让我快发疯了。我得到一个错误 对象不包含DeleteObject的定义 以下是产生错误的代码行: ctx.Tanks.DeleteObject(Tank); 我试图引用我朋友创建的另一个edmx文件中的另一个对象,然后一切正常,DeleteObject存在。我认为我的项目中没有遗漏任何参考资料 项目本身包含edmx文件,我使用DBContext创建POCO 有什么想法吗?DbContextAPI定义了DbSets而不是ObjectSets。具有Remove方法而不是DeleteObject方
ctx.Tanks.DeleteObject(Tank);
我试图引用我朋友创建的另一个edmx
文件中的另一个对象,然后一切正常,DeleteObject
存在。我认为我的项目中没有遗漏任何参考资料
项目本身包含edmx文件,我使用DBContext
创建POCO
有什么想法吗?
DbContext
API定义了DbSet
s而不是ObjectSet
s。具有Remove
方法而不是DeleteObject
方法。您需要首先决定要使用哪种API。如果它是ObjectContext
或DbContext
[HttpPost]
[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");
}
公共操作结果删除(IEnumerable employeeIdsToDelete)
{
var lstemployee=_db.StudentEmployees.Where(x=>employeeIdsToDelete.Contains(x.Id));
foreach(LSTMemployee中的var项目)
{
_db.学生员工。删除(项目);
}
_db.SaveChanges();
返回操作(“索引”);
}
你们是否使用相同模板的同一版本的entity framework?谢谢。我昨天意识到了这一点。因此,使用DBContext无法像Objectcontext中的DeleteObject那样删除父对象和所有相关的子对象?@DavieDave您可以使用DbSet
。如果您已经为子表配置了级联删除,那么它将自动被删除。此帖子已经有一个可接受的答案。如果你想发表意见,请在回答的基础上添加更多细节和上下文。