【问题标题】:nHibernate Linq ProjectionnHibernate Linq 投影
【发布时间】:2009-08-20 22:35:28
【问题描述】:

我正在为 nHibernate 使用 1.0 版的 Linq。当我跑 以下 linq 语句我收到错误

不是单一长度的投影:姓氏

我可以在网络上找到很少的参考资料并查看 消息来源说它永远不会发生! ClientID 是 Int 类型,并且 姓氏是一个字符串。当我注释掉 投影并离开 ClientID 它运行正常,但只要我添加 回姓就错了。

var context = m_ClientRepository.Linq;

var result = (from client in context
              from address in client.Addresses
              from contact in client.Contacts
              where client.Surname.StartsWith(surname)
              && client.GivenName.StartsWith(givenName)
              && contact.Value.StartsWith(phoneNumber)
              group client by new { client.ClientID, client.Surname, client.GivenName } into clientGroup
              select new ClientSearchDTO()
              {
                  ClientID = clientGroup.Key.ClientID,
                  Surname = clientGroup.Key.Surname,
                  GivenName = clientGroup.Key.GivenName,
                  Address = clientGroup.Max(x => x.Addresses.FirstOrDefault().Address),
                  PhoneNumber = clientGroup.Max(x => x.Contacts.FirstOrDefault().Value)
              })
              .Skip(Paging.FirstRecord(pageNumber))
              .Take(5);

【问题讨论】:

    标签: c# .net linq nhibernate


    【解决方案1】:

    AFAIK,在 LINQ to nHibernate 1.0 中选择子句 aren't supported 中的子查询。

    这可能是您的问题的根源。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多