0
var query = from section in load_sections.Sections
            join course in load_sections.Courses
                on section.Course_Id equals course.Course_Id
            join faculty in load_sections.Faculties
                on section.Faculty_Id equals faculty.Faculty_Id
            select section;

section.Faculty_Id のどの行とも等しくない null 値が section.Faculty_Id にあり、section.Faculty_Id が null でないレコードを返すだけです... section.Faculty_Id が null でない場合は、それが必要です。テーブル コースの他の残りのフィールドを返します

4

1 に答える 1

2

何らかの理由で結合をドロップできない場合はfaculty、外部結合を構築する必要があります。

var query = from section in load_sections.Sections
            join course in load_sections.Courses
                on section.Course_Id equals course.Course_Id
            join faculty in load_sections.Faculties
                on section.Faculty_Id equals faculty.Faculty_Id into faculties
            from f in faculties.DefaultIfEmpty()
            select section;

これは with を実行GroupJoinFacultiesます。後続の効果はfrom f in faculties、グループ化が a によって再びフラット化されることSelectManyです。.DefaultIfEmpty()外部結合を作成します。

于 2013-04-04T20:39:35.227 に答える