私は現在、非常に基本的なオンラインフォーラムを作成する作業をしており、ページポストの子コレクションを持つスレッドを取得したいと考えています。NHibernate - ページングされた子コレクションを持つ親を取得する
<class name="Thread" table="ForumThreads">
<id name="Id">
<generator class="identity"></generator>
</id>
<property name="Title"></property>
<bag name="Posts">
<key column="ThreadID"></key>
<one-to-many class="Post"/>
</bag>
</class>
<class name="Post" table="ForumPosts">
<id name="Id">
<generator class="identity"></generator>
</id>
<property name="Content"></property>
<many-to-one name="Thread"
class="Thread"
column="ThreadID">
</many-to-one>
</class>
そして、私はこのような何かをしたい:だから、私のマッピングがある
public class Thread
{
public virtual int Id { get; set; }
public virtual string Title { get; set; }
public virtual IEnumerable<Post> Posts { get; set; }
}
public class Post
{
public virtual int Id { get; set; }
public virtual Thread Thread { get; set; }
public virtual string Content { get; set; }
}
public Thread GetThread(int threadId, int page, int pageSize, out int count)
{
var session = SessionFactory.CurrentSession;
// Query to get the thread with a child collection of paged posts.
return thread;
}
は1つのクエリでこれを行うすることが可能であり、または私は2つの中でそれを分割する必要がありますするつもりです?
おかげ
いくつかのリソースは、これらのSOの質問にあります http://stackoverflow.com/q/2430863/654134 http://stackoverflow.com/q/4284438/ 654134 –