コード:
var cons = from c in dc.Consignments
join p in dc.PODs ON c.ID equals p.Consignment into pg
from p in pg.DefaultIfEmpty()
...(other joins)...
select new {
...
PODs = pg
...
}
基本的に、委託品ごとに1つの行を選択し、PODのコレクションであるオブジェクト「POD」を選択します。これは機能しますが、PODごとに1つの行があります。したがって、委託品に3つのPODがある場合、その委託品に対して3つの行が返されます。PODを間違って選択していますか?DefaultIfEmpty()を削除すると、奇妙なことに正常に動作し、重複は発生しません。