1
nHibernate 용 Linq 버전 1.0을 사용하고 있습니다. 나는 웹이 매우 몇 가지 참조를 찾을 수 있습니다nHibernate 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);