Ben*_*ack 79 c# linq database linq-to-entities entity-framework
有没有办法在LINQ或LINQ-to-Entities中批量删除与给定查询匹配的一堆对象?我能找到的唯一引用已经过时了,迭代并手动删除我想删除的所有对象似乎很愚蠢.
Ale*_*mes 54
前阵子我写4部分的博客系列(零件1,2,3和4中的实体框架覆盖做批量更新(有一个命令)).
虽然该系列的重点是更新,但您肯定可以使用所涉及的原则来进行删除.
所以你应该能够写出这样的东西:
var query = from c in ctx.Customers
where c.SalesPerson.Email == "..."
select c;
query.Delete();
Run Code Online (Sandbox Code Playgroud)
您需要做的就是实现Delete()扩展方法.有关如何...的提示,请参阅帖子系列
希望这可以帮助
Vla*_*den 40
using (var context = new DatabaseEntities())
{
// delete existing records
context.ExecuteStoreCommand("DELETE FROM YOURTABLE WHERE CustomerID = {0}", customerId);
}
Run Code Online (Sandbox Code Playgroud)
我在这里看到的答案是Linq to Sql
DeleteAllOnSubmit是System.Data.Linq和ITable的一部分,它是Linq to Sql
使用Entity Framework无法做到这一点.
说完所有这些我还没有解决方案,但会在我做的时候回复
对于那些使用 EF6 并希望执行行 SQL 查询进行删除的人:
using (var context = new DatabaseEntities())
{
// delete existing records
context.Database.ExecuteSqlCommand("DELETE FROM YOURTABLE WHERE CustomerID = @id", idParameter);
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
85419 次 |
最近记录: |