It's possible to delete using join statements to qualify the set to be deleted, such as the following:
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')
However I'm interested in deleting both sides of the join criteria -- both the LinkingTable
record and the User record on which it depends. I can't turn cascades on because my solution is Entity Framework code first and the bidirectional relationships make for multiple cascade paths.
Ideally, I'd like something like:
DELETE J, U
FROM Users U
inner join LinkingTable J on U.id = J.U_id
...
Syntactically this doesn't work out, but I'm curious if something like this is possible?