如何在基于两个表的linq2db模板中使用LINQ删除多行?

时间:2018-09-26 09:40:39

标签: linq linq2db

我有两个表Productuser。现在,我想一次删除多个具有以下关系的记录:我想删除与特定用户有关的所有产品。

我已经删除了linq2db模板中的多个记录代码

using (var db = new DbNorthwind())
{
  db.Product
  .Where(p => p.Discontinued)
  .Delete();
}

但是,如何将用户表与此代码相关联?

来源:https://linq2db.github.io/#delete

2 个答案:

答案 0 :(得分:3)

您可以使用以下解决方案在linq2db模板中基于两个表的LINQ删除多行:

(
    from p in db.Product
    join u in db.User on ... some join ...
    select p
)
.Delete();

答案 1 :(得分:-1)

尝试一下:

using (var db = new DbNorthwind())
{
  var deletionList=db.Product
                     .Where(p => p.Discontinued).AsEnumerable();
  db.Product.RemoveRange(deletionList);
  db.SaveChanges();
}
相关问题