Nhibernate – 在SelectList上列出

我正在使用NHibernate,我遇到了一个问题。

我的项目中有这些实体:客户端:

public class Client { public virtual int Id { get; set; } public virtual string Name { get; set; } public virtual string UserName { get; set; } public virtual string Password { get; set; } public virtual IList Dates { get; set; } public Client() { Dates = new List(); } } 

日期:

 public class Date { public virtual int Id { get; set; } public virtual DateTime DateTime { get; set; } public virtual Client Client { get; set; } public virtual int IsVisible { get; set; } } 

我想获取每个客户端,它的id,名称和日期列表,并且对于该列表中的每个日期,我只想获取id和日期。

所以我尝试了以下内容:

 Date dateAlias = null; var list = _session.QueryOver() .JoinAlias(x => x.Dates, () => dateAlias) .SelectList(lst => lst .Select(x => x.Id) .Select(x => x.Name) .Select(() => dateAlias)) .List(); 

还有这个:

  Date dateAlias = null; var list = _session.QueryOver() .JoinAlias(x => x.Dates, () => dateAlias) .SelectList(lst => lst .Select(x => x.Id) .Select(x => x.Name) .Select(() => dateAlias)) .List(); 

但结果是空的。 我在这做错了什么? 这是我想要的吗?

您可以尝试此查询,它可能对您有所帮助。

 IList clientData = _session.QueryOver() .JoinQueryOver(x => x.Dates) .Where(x => x.Id && x => x.Name)).List();