Как удалить несколько строк с помощью LINQ в шаблонах linq2db на основе двух таблиц? - PullRequest
0 голосов
/ 26 сентября 2018

У меня есть две таблицы Product и user.Теперь я хочу удалить несколько записей одновременно, например: я хочу удалить все продукты, связанные с конкретным пользователем.

Я удалил код нескольких записей в шаблонах linq2db

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

Но как связать эту пользовательскую таблицу с этим кодом?

Источник: https://linq2db.github.io/#delete

Ответы [ 2 ]

0 голосов
/ 28 сентября 2018

Следующее решение можно использовать для удаления нескольких строк с помощью LINQ в шаблонах linq2db на основе двух таблиц:

(
    from p in db.Product
    join u in db.User on ... some join ...
    select p
)
.Delete();
0 голосов
/ 26 сентября 2018

Попробуйте это:

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