0

EF では、select プロジェクション (多対 1 または 1 対 1/0 の多側からなど) 内の単一の関連エンティティに移動すると、null が合体し、左結合が得られます: https ://stackoverflow.com/a/2525950/84206

これは結合ではなくプロジェクトで発生するため、EF は、左結合が必要であるというかなり妥当な想定を行います。ただし、LLBLGen を使用して LINQ でこれを実現する方法は見つかりませんでした。上記の手法は、LLBGen との内部結合を生成します。DefaultIfEmpty を使用する手法は使用できません。これは、多関係に移動する場合にのみ使用できるためです。

巨大なオブジェクト グラフをメモリに取得してメモリ内で投影するのではなく、LINQ で投影を行いたいので、WithPath/Prefetch の使用を避けたいと考えています。

これは LLBLGen 3.5 です。

4

1 に答える 1

1

FK が null 許容の場合、結合は左結合になります。FK が null 許容でない場合は、内部結合になります。これは、Linq にはこれで結合タイプを指定する他のシステムがないため、必要なものを決定できる唯一の方法です。左結合を取得するには、リンクで null 許容 (オプション) の FK 側も使用する必要があります。

何も役に立たない場合は、queryspec を使用してください。クエリ API を使用すると、どのような場合でも結合タイプを指定できます。

追伸: 次回はフォーラムに投稿してください。毎日 SO を監視しているわけではありませんが、フォーラムは監視しています。

于 2013-08-15T19:53:45.140 に答える