Я унаследовал базу данных, которая не была спроектирована точно оптимально, и мне нужно манипулировать некоторыми данными. Позвольте мне привести более общую аналогию того, что я должен делать:
Допустим, у нас есть таблица Student
, таблица StudentClass
, в которой хранятся записи всех классов, которые он посещал, и таблица StudentTeacher
, в которой хранятся все учителя, которые учили этого ученика. Да, я знаю, что это глупый дизайн, и было бы разумнее разместить учителя на столе класса - но это то, с чем мы работаем.
Теперь я хочу очистить данные, и я хочу найти все места, где у ученика есть учитель, но нет классов, или класс, но нет учителей. SQL таким образом:
select *
from StudentClass sc
full outer join StudentTeacher st on st.StudentID = sc.StudentID
where st.id is null or sc.id is null
Как это сделать в Linq?