Nhibernate -列表在SelectList上

本文关键字:SelectList 列表 Nhibernate | 更新日期: 2023-09-27 18:01:18

我正在使用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, name和日期列表,对于列表中的每个日期,我只想获取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[]>();

但是结果是空的。我哪里做错了?我想要的可能吗?

Nhibernate -列表在SelectList上

您可以试试这个查询,它可能对您有所帮助。

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