实体框架4多个对象删除(RemoveAll)

时间:2009-11-23 04:59:27

标签: .net-4.0 entity-framework-4

我读到新的实体框架将包含一个删除多个项目的方法(Linq to SQL有DeleteAllOnSubmit())但我找不到这样做的函数/方法。

这是Beta 2还是我必须自己制作?

更新:

这就是我现在正在使用的:

    public void DeleteObjects(IEnumerable<object> objects)
    {
        foreach (object o in objects)
        {
            DeleteObject(o);
        }
        SaveChanges();
    }

2 个答案:

答案 0 :(得分:8)

EF 4允许您针对对象上下文执行TSQL语句:

   using (var context = new EntityFrameworkExampleEntities())
    {       
     var count = 
         context.ExecuteStoreCommand(@"DELETE FROM Companies WHERE [CompanyID]=4");            
    }

有关详细信息,请参阅以下博客。

http://blogs.microsoft.co.il/blogs/gilf/archive/2009/11/25/execute-t-sql-statements-in-entity-framework-4.aspx

答案 1 :(得分:0)

我知道这已经很晚了,但是我找到了这个帖子并找到了一个更简单的解决方案,但没有发布。 您可以在关联属性中将OnDelete设置为Cascade。在VS2012中打开edmx文件。单击关联,您将在“属性”选项卡中找到OnDelete。然后,您可以使用Remove()方法,不使用触发器或任何其他特殊处理。