私はエンティティ「人」を持っています人は友達のコレクションを持っています(人エンティティも)
LatestLogin で並べ替えられた、特定の人の最初の 10 人の友達を取得したいと考えています。
私の最善の努力は次のとおりです。
public static IList<Person> GetFriends(Person person, int count)
{
Person personAlias = null;
Person friendAlias = null;
ICriteria criteria = NHibernateSessionManager.Instance.GetSession()
.CreateCriteria(typeof (Person), () => personAlias)
.CreateCriteria(() => personAlias.Friends, () => friendAlias, JoinType.LeftOuterJoin)
.AddOrder(() => friendAlias.LatestLogin, Order.Desc)
.Add<Person>(p => p.ID == person.ID)
.SetMaxResults(count);
return criteria.List<Person>();
}
すべてのユーザーの友達を取得しますが、LatestLogin によって順序付けられていません。何か案は?