Как мне отфильтровать мой запрос Linq-to-SQL, чтобы он отображал только записи, на которые нет ссылок (через FK) в другой таблице?
Так, например, у меня было две таблицы: TableA и TableB. TableB имел FK, ссылающийся на TableA. Я хочу выбрать все строки из таблицы A, которые не имеют записей в таблице B, ссылающихся на него.
В сыром T-SQL я могу сделать:
SELECT * FROM TableA
WHERE NOT EXISTS (SELECT * FROM TableB WHERE TableA._id = TableB.fk_tablea_id)
В сыром MySQL я могу выполнить левое соединение и использовать функцию ISNULL()
в предложении where.
Я не уверен, что лучший способ сделать это с LINQ to SQL.