Nhibernate - 在SelectList上列出

时间:2016-08-08 04:03:34

标签: c# nhibernate queryover

我正在使用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[]>();

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

1 个答案:

答案 0 :(得分:0)

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

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