Я унаследовал базу данных, которая была разработана не совсем оптимально, и мне нужно манипулировать некоторыми данными. Позвольте мне привести более распространенную аналогию того, что я должен делать:
Допустим, у нас есть таблица 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?