I read that the new Entity Framework will include a method to de开发者_如何学JAVAlete 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();
}
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
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.
精彩评论