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

如何在基于两个表的linq2db模板中使用LINQ删除多行?,linq,linq2db,Linq,Linq2db,我有两个表Product和user。现在,我想一次删除多个记录,其关系如下:我想删除与特定用户相关的所有产品 我已经删除了linq2db模板中的多个记录代码 using (var db = new DbNorthwind()) { db.Product .Where(p => p.Discontinued) .Delete(); } 但是,如何将该用户表与此代码关联 来源:试试这个: using (var db = new DbNorthwind()) { var del

我有两个表
Product
user
。现在,我想一次删除多个记录,其关系如下:我想删除与特定用户相关的所有产品

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

using (var db = new DbNorthwind())
{
  db.Product
  .Where(p => p.Discontinued)
  .Delete();
}
但是,如何将该用户表与此代码关联

来源:

试试这个:

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

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

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

但是,我认为它正在删除所有的行,而不是使用foreach。