我读到新的实体框架将包含一个删除多个项目的方法(Linq to SQL有DeleteAllOnSubmit())但我找不到这样做的函数/方法。
这是Beta 2还是我必须自己制作?
更新:
这就是我现在正在使用的:
public void DeleteObjects(IEnumerable<object> objects)
{
foreach (object o in objects)
{
DeleteObject(o);
}
SaveChanges();
}
答案 0 :(得分:8)
EF 4允许您针对对象上下文执行TSQL语句:
using (var context = new EntityFrameworkExampleEntities())
{
var count =
context.ExecuteStoreCommand(@"DELETE FROM Companies WHERE [CompanyID]=4");
}
有关详细信息,请参阅以下博客。
答案 1 :(得分:0)
我知道这已经很晚了,但是我找到了这个帖子并找到了一个更简单的解决方案,但没有发布。 您可以在关联属性中将OnDelete设置为Cascade。在VS2012中打开edmx文件。单击关联,您将在“属性”选项卡中找到OnDelete。然后,您可以使用Remove()方法,不使用触发器或任何其他特殊处理。