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