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

Oma*_*mar 12 .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();
    }
Run Code Online (Sandbox Code Playgroud)

Shi*_*iji 8

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

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

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

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

  • 缺点是在删除过程中所有对象都保存在内存中.如果要删除尚未从数据库加载的大批对象,则在删除它们之前,它们都将被加载到应用程序中. (2认同)