Entity Framework 4 Multiple Object Delete(RemoveAll)

流过昼夜 提交于 2019-12-29 06:45:08

问题


I read that the new Entity Framework will include a method to delete multiple items (Linq to SQL has DeleteAllOnSubmit()) but I can't find the function/method to do that.

Is this in Beta 2 or do I have to make my own?

UPDATE:

This is what I'm using now:

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

回答1:


EF 4 allows you to execute TSQL statements against an object context:

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

See the following blog for details.

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




回答2:


I know this is late, but I found this post and found a simpler solution, that wasn't posted. You can set OnDelete to Cascade in the Association properties. In VS2012 open the edmx file. Click on the association and you'll find the OnDelete in the Properties tab. Then you can use the Remove() method with no triggers or any other special handling.



来源:https://stackoverflow.com/questions/1781175/entity-framework-4-multiple-object-deleteremoveall

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!