Comment voulez-vous écrire cette exacte requête SQL avec la nouvelle Linq à NHibernate Fournisseur (3.x)Count Distinct - Inner Join - Groupe Par/Avec la nouvelle LINQ to NHibernate Fournisseur
SELECT Post.Title, COUNT(DISTINCT Comment.UserId)
FROM Post
INNER JOIN Comment ON Post.Id = Comment.PostId
GROUP BY Post.Title
Voici quelques SQL si vous voulez faire des tests
DECLARE @Post Table(Id int identity(1,1), Title varchar(200))
DECLARE @Comment Table(Id int identity(1,1), PostId int, Comment varchar(200), UserId int)
DECLARE @PostId int
INSERT INTO @Post(Title)
VALUES ('Test')
SELECT @PostId = SCOPE_IDENTITY()
INSERT INTO @Comment(PostId, Comment, UserId)
VALUES (@PostId, 'Test Comment', 1)
INSERT INTO @Comment(PostId, Comment, UserId)
VALUES (@PostId, 'Test Comment 2', 1)
INSERT INTO @Comment(PostId, Comment, UserId)
VALUES (@PostId, 'Test Comment 3', 2)
INSERT INTO @Post(Title)
VALUES ('Test 2')
SELECT @PostId = SCOPE_IDENTITY()
INSERT INTO @Comment(PostId, Comment, UserId)
VALUES (@PostId, 'Test Comment', 1)
INSERT INTO @Comment(PostId, Comment, UserId)
VALUES (@PostId, 'Test Comment 2', 2)
INSERT INTO @Comment(PostId, Comment, UserId)
VALUES (@PostId, 'Test Comment 3', 3)
SELECT Post.Title, COUNT(DISTINCT Comment.UserId)
FROM @Post Post
INNER JOIN @Comment Comment ON Post.Id = Comment.PostId
GROUP BY Post.Title
Jusqu'où êtes-vous allé? StackOverflow est pour aider avec des problèmes, pas pour faire votre travail. Sans vouloir offenser, mais un peu plus de contexte aiderait dans ce cas;) –
Étant donné que la question est très simple et que j'ai pris le temps de produire tout le SQL, je pense que cette question ne mérite pas ce genre de commentaire. Je viens de commencer à utiliser NHibernate et je ne sais même pas par où commencer. Je pensais que cette question serait facile pour n'importe quel gourou NHibernate ... – W3Max
Vous pourriez essayer de poster sur le groupe nhusers http://groups.google.com/group/nhusers quelle version de nh utilisez-vous? –