我正在使用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<Date> Dates { get; set; }
public Client()
{
Dates = new List<Date>();
}
}
日期:
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<Client>()
.JoinAlias(x => x.Dates, () => dateAlias)
.SelectList(lst => lst
.Select(x => x.Id)
.Select(x => x.Name)
.Select(() => dateAlias))
.List<object[]>();
和此:
Date dateAlias = null;
var list = _session.QueryOver<Client>()
.JoinAlias(x => x.Dates, () => dateAlias)
.SelectList(lst => lst
.Select(x => x.Id)
.Select(x => x.Name)
.Select(() => dateAlias))
.List<object[]>();
但结果是空的。 我在这做错了什么?我想要的是什么?
答案 0 :(得分:0)
您可以尝试此查询,它可能会对您有所帮助。
IList<Client> clientData = _session.QueryOver<Client>()
.JoinQueryOver(x => x.Dates)
.Where(x => x.Id && x => x.Name)).List();