Можно удалить с помощью операторов соединения, чтобы квалифицировать удаляемый набор, например:
DELETE J
FROM Users U
inner join LinkingTable J on U.id = J.U_id
inner join Groups G on J.G_id = G.id
WHERE G.Name = 'Whatever'
and U.Name not in ('Exclude list')
Однако я заинтересован в удалении обеих сторон критериев соединения - как записи LinkingTable
, так и записи пользователя, от которой это зависит. Я не могу включить каскады, потому что первое решение - это код Entity Framework, а двунаправленные отношения - для нескольких каскадных путей.
В идеале мне бы хотелось что-то вроде:
DELETE J, U
FROM Users U
inner join LinkingTable J on U.id = J.U_id
...
Синтаксически это не сработает, но мне любопытно, возможно ли что-то подобное?