問題を説明させてください - タイトルでうまく定義できていることを願っていますが、確認したいと思います。
一連のオブジェクト (Foos など) を取得する linq クエリがあります。各 Foo は User への参照を保持します。各 User は Person への参照を保持します。
public class Foo
{
//properties omitted...
public User CreatedBy {get;}
}
public class User
{
//properties omitted...
public Person Person {get;set;}
}
オブジェクト構造が示唆するように、データベースでは、Foo は多対 1 で User に関連付けられ、User は多対 1 で Person に関連付けられます。
クエリを実行すると、Foos に対して 1 つの SELECT が取得され、次にすべてのユーザーと People に対してそれぞれ SELECT が取得されます。明らかに、いくつかの結合を含む単一の SELECT を好むでしょう。
Foos が常に熱心にユーザーをフェッチすること、またはユーザーが常に熱心に Person をフェッチすることをマッピング構成で指定する必要は必ずしもありませんが、このインスタンスではそれを指定できるようにしたいと考えています。
それを行う方法はありますか?
ありがとう
デビッド