1

Lorsque je précise la formule suivante:nHibernate Formule contenant une Rejoindre

Map(x => x.PendingInviteCount) 
    .Access 
    .ReadOnly() 
    .Formula("(SELECT COUNT(ui.UserInviteId) 
       FROM [UserInvite] ui JOIN [UserInviteOrganisation] uio 
       ON ui.UserInviteId = uio.UserInviteId 
       WHERE uio.OrganisationId = organisationId)"); 

SQL qui est généré ressemble à ceci:

SELECT COUNT(ui.UserInviteId) 
FROM [UserInvite] ui 
JOIN [UserInviteOrganisation] organisati0_.uio on ui.UserInviteId = uio.UserInviteId 
WHERE uio.OrganisationId = organisati0_.organisationId 

qui échoue en raison de UIO étant préfixé par organisatio0_.

Est-il possible de créer une formule contenant un JOIN?

+0

Avez-vous essayé d'utiliser le mot-clé as pour l'alias? –

+0

Oh wow, ça marche :) Postez ceci comme une réponse pour que je puisse l'accepter et vous donner les points. – Teppic

+0

Tout ensemble, mettez la réponse dans :) –

Répondre

3

Vous devez utiliser le mot-clé AS pour définir l'alias de la table. Je ne pense pas que NHibernate le prenne comme il est actuellement écrit.