2

LINQ ステートメントに問題があります。

ExaminationsExaminationProtocolsおよびの3 つのテーブルがありSampleTestsます。

今までは、最初の 2 つのテーブルの情報だけが必要だったので、このステートメントを使用してきました。

var baseQuery = from e in context.Examinations
                join ep in context.ExaminationProtocols
                on e.ID equals ep.ExaminationID into er
                from r in er.DefaultIfEmpty()
                select new { E = e, EP = r };

しかし今ExaminationProtocols、少なくとも 1 つSampleTestのフィールドを持つ を取得する必要がありますacccurate = true

SampleTestとの間の外部キーExaminationProtocols

EP.ID equal ST.examinationProtocolID

ステートメント内の 3 番目のテーブルに参加しようとしましたが、希望する結果が得られないようです。

誰かが私にヒントを与えることができれば、私は感謝します.

4

2 に答える 2

0

このように書くことができます

var baseQuery = from e in Examinations
              join ep in ExaminationProtocols.Where(x => SampleTests.Where(y => y.accurate).Select(z => z.examinationProtocolID).Contains(x.ID))
                  on e.ID equals ep.ExaminationID into er
              from r in er.DefaultIfEmpty()
              select new { E = e, EP = r };
于 2013-08-01T08:05:33.877 に答える