J'utilise la version 1.0 de Linq pour nHibernate. Quand je lance les déclarations de LINQ suivantes je reçois l'erreurnHibernate Linq Projection
pas une projection unique longueur: Nom
je peux trouver très peu de références à ce sur le web et la recherche dans la source il dit ne devrait jamais se produire! ClientID est un type Int et Le nom est une chaîne. Lorsque je commente tous les champs de la chaîne dans la projection et laissez simplement ClientID il fonctionne bien, mais dès que j'ajoute le nom de famille les erreurs.
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);