コレクションを含むエンティティをロードするときなど、返されるコメントの数を定義できる場合は、0 - > n個のコメントを含むことができる投稿。私はこれを持っている時点ではFluent nHibernateコレクションの選択ロード
:
public IList<Post> GetNPostsWithNCommentsAndCreator(int numOfPosts, int numOfComments)
{
var posts = Session.Query<Post>().OrderByDescending(x => x.CreationDateTime)
.Take(numOfPosts)
.Fetch(z => z.Comments)
.Fetch(z => z.Creator).ToList();
ReleaseCurrentSession();
return posts;
}
はスキップを追加する方法はありますし、あなたがの多くをロードしなくて済むようコレクションでページング機能の種類を許可するようにコメントしてくださいあなたが必要としないもの。
私は遅延ロードを認識していますが、実際には使用したくないので、MVCパターンを使用しています。ロードしたリポジトリからオブジェクトを戻してキャッシュすることができます。私は実際に私の意見がselect文を引き起こすことを望んでいません。
コメントのフェッチを実行しないで、作成した日付時刻別のコメントコメントを別々に実行してから、たとえばトップ5を選択して返信しますオブジェクト?
これに関するご意見やご感想をお寄せください。それは、データを収集エンティティを水和することができるよう
おかげで、
ジョン
NHibernateには複雑すぎるために必要な結合を想像すると、投稿とコメントにTOPを2つの別々のサブ選択として使用し、それらを外部結合する方法 –