正確に最適に設計されていないデータベースを継承したため、一部のデータを操作する必要があります。私がしなければならない種類のことのより一般的なアナロジーを与えましょう:
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でそれをどのように行いますか?