Je suis sûr que ce soit on a fait les maisons à quelques reprises, mais je ne l'ai jamais trouvé une solution ...LINQ (NHibernate) pour effectuer une déclaration de cas avec des comptes
Ainsi est-il possible de faire quelque chose comme ceci en utilisant NHibernate 3 avec de préférence Linq:
SELECT
COUNT(CASE WHEN IsWithdrawn = 1 THEN 1 END) AS WithdrawnCount,
COUNT(CASE WHEN IsWithdrawn = 0 THEN 1 END) AS ViewAllCount
FROM Tutorials
Je suis assez sûr que ce soit est pas possible et que la meilleure solution est d'opter seulement pour sql dans ce cas ... mais peut-être il y a quelque chose nouveau dans nHibernate 3.1 qui peut le faire avec, même en utilisant queryover?
grâce
Exécution à travers un profileur sql la différence bewteen en utilisant des déclarations de cas sur les sous-requêtes est de 61% contre 39%. Malheureusement, alors que la solution ci-dessus fonctionne, il est tout simplement trop pour un coût de performance à utiliser. Si une requête ne va pas frapper trop souvent, c'est une bonne option;) – Jay