Bonjour à tous,
Petit souci de requête... je souhaite compter le nombre d' oeuvres par projet appartenant à un utilisateur (avec une condition de recherche du type: avoir le nombre d'oeuvre comprise entre 1 et 15)
j'ai donc :
projets (1,1)-----detenir-----(0,n)utilisateurs
oeuvres(1,1)------Appartient-------(1,n)Projets
ma requête sql est la suivante:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
SELECT
prof.ProfileId AS ["Profile"]
FROM
dbo.Profiles AS prof
INNER JOIN
dbo.Projects AS proj
ON
prof.ProfileId = proj.ProfileIdFK
INNER JOIN
dbo.Artworks as artw
ON
proj.ProjectId = artw.ProjectIdFK
WHERE
prof.ProfileId = 62
GROUP BY
prof.ProfileId
HAVING
COUNT(artw.ArtworkId) BETWEEN 3 AND 10 |
Maintanant je veux faire cette requête de type criteria avec nhibernate
J'utilise fluent nhibernate pour le mapping.
J'ai testé cette requête,mais en vain:
1 2 3 4 5 6
|
var query = session.CreateCriteria<ArtworkData>();
query.Add(Restrictions.Eq("Project", project));
query.Add(Restrictions.Between(Projections.Count("Id"), 3, 10));
return query.List<ArtworkData>(); |
Quand je met un point d'arrêt, il ne comprend pas le :Voila mon problème.
Merci d'avance
Nicolas
P.S.
J'apporte cette précision.
Réponse de NHibernate:
{Project = MyProject.Data.ProjectData and between 7 and 10}
Partager