CreateCriteria を使用して Nhibernate で次の SQL ステートメントを作成するにはどうすればよいですか。
SELECT distinct top 20 a.* from ActivityLog a
left join WallPost w on a.ActivityLogId = w.ActivityLogId left join ItemStatus i on i.StatusId = w.ItemStatus
ActivityLogテーブルにマップしても、SQLステートメントで返されるすべてのテーブルからすべての列を取得して重複を生成する傾向があります。以下のコードが示すように、ページングも行っています。
ICriteria crit = nhelper.NHibernateSession.CreateCriteria(typeof(Model.ActivityLog), "a").CreateAlias("a.WallPosts", "w",CriteriaSpecification.LeftJoin)
.CreateAlias("w.ItemStatus", "i", CriteriaSpecification.LeftJoin)
.SetMaxResults(pageSize).SetFirstResult(startRow).AddOrder(Order.Desc("a.Date"));
ありがとう
H