【发布时间】: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