可以使用连接语句来限定要删除的集合进行删除,例如:
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
它所依赖的记录和用户记录。我无法打开级联,因为我的解决方案首先是实体框架代码,并且双向关系产生了多个级联路径。
理想情况下,我想要类似的东西:
DELETE J, U
FROM Users U
inner join LinkingTable J on U.id = J.U_id
...
从语法上讲这行不通,但我很好奇这样的事情是否可能?