【发布时间】:2015-01-27 08:45:00
【问题描述】:
我有如下图所示的表格:
如何使用基于 ProjectId 的实体框架删除表的所有记录?
【问题讨论】:
-
我不在乎 foreach 或没有 foreach 我想要一个基于 ProjectId 删除记录的好方法
标签: c# entity-framework asp.net-mvc-5
我有如下图所示的表格:
如何使用基于 ProjectId 的实体框架删除表的所有记录?
【问题讨论】:
标签: c# entity-framework asp.net-mvc-5
这一个班轮可以做到:
db.ProRel.RemoveRange(db.ProRel.Where(c => c.ProjectId == Project_id));
【讨论】:
context.Projects.Where(p => p.ProjectId == projectId)
.ToList().ForEach(p => context.Projects.Remove(p));
context.SaveChanges();
取自very similar post(可能应该被标记为重复)。
【讨论】:
DeleteObject 生活在 ObjectContext 上。 (当前和现在的标准DbContext 没有那个方法)
您可以使用DbSet.RemoveRange() 并传入IEnumerable<Model>。
您使用ProjectId 构建模型列表,并使用数据上下文将它们传递给RemoveRange()。最后,拨打SaveChanges()。
【讨论】:
RemoveRange(),如果是这种情况,请改用 Jesse Carter 的答案