在尝试通过我们的一个NHibernate查询实现订单时,我遇到了一些问题。基本上我们有一个公司列表,每个公司都有一个或多个联系人。我们希望通过以下方式对返回的列表进行排序:
这将意味着我们按字母顺序列出我们的公司,对于每家公司,我们将首先获得主要联系人,然后是所有非主要联系人,再次按姓氏字母顺序排列。
public class Contact
{
public bool IsPrimaryContact{get;set;}
public string Surname{get;set;}
}
public class Company
{
public virtual string Name { get;set; }
public virtual IList<Contact> Contacts { get;set; }
}
在我们的所有查询中(同时尝试了HCL和ICriteria),我只能按公司名称订购时获得所需的数据,但似乎无法理解能够在其中包含联系人的语法。我该怎么做?我甚至可以研究像MultiQuery这样的东西吗?