私はこのシナリオがあります。今Nhinerbate遅延ロードが
map.Reference(a => a.Child).LazyLoad();
私のような何かを:クラスAのマッピングで
class A
{
public virtual int Id { get; set; }
public virtual B Child { get; set; }
}
class B
{
public virtual int Id { get; set; }
}
を、私はクラスBへの参照を持っています:
Session.Query<TypeOfA>().Select(a => a);
通常のselect * from ATableとは別に、AラインごとにBTableからn個のselectを取得します。遅延読み込みがうまくいかないようですか?
私の質問は以下のとおりです。
- がどのように私はここにlazyloadを動作させるために?
- AエンティティとBエンティティを1回のクエリで使用できますか?
は
@Tom:これは正しくありません。 * anohter * batch-sizeがあり、これは設定で設定し、ADO.NETのバッチ処理を使用します。これは、更新および挿入ステートメントのために、セッションをフラッシュするときにNHがバッチを作成するようにします。これはSQL Serverでのみ使用できます。 (http://ayende.com/Blog/2006/09/16/BatchingSupportInNHibernate.aspxを参照してください)。しかし、私が話しているバッチサイズはクエリ用であり、データベースに依存しません。 –
私の間違い - 私は自分のコメントを削除しました。 –
@Tom:NHはあいまいな言葉を使うことがあるという問題があります。機能の理解を非常に困難にします。 –