Как бы вы написать этот точный SQL запрос с новым провайдером Linq-на-NHibernate (3.x)Count Distinct - внутреннее соединение - группы/С новым поставщиком Linq-на-NHibernate
SELECT Post.Title, COUNT(DISTINCT Comment.UserId)
FROM Post
INNER JOIN Comment ON Post.Id = Comment.PostId
GROUP BY Post.Title
Вот некоторые SQL, если вы хотите, чтобы сделать некоторые тесты
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
Как далеко вы попали? StackOverflow предназначен для решения проблем, а не для выполнения вашей работы. Не обижайтесь, но в этом случае поможет немного больше контекста;) – 2010-12-03 02:47:22
Учитывая тот факт, что вопрос очень прост и что я нашел время для создания всего SQL, я думаю, что этот вопрос не заслуживает такого комментария. Я только начал использовать NHibernate, и я даже не знаю, с чего начать. Я думал, что этот вопрос будет легким для любого гуру NHibernate ... – W3Max 2010-12-03 03:00:51