Как я могу сделать этот запрос с NHibernate
select top 10 count(distinct classedition.createdby_id) as editions, class.id,
class.name, class.createdon, class.createdby_id
from class
inner join classedition on class.id = classedition.class_id
group by class.id, class.name, class.createdon, class.createdby_id
order by editions desc, class.createdon desc
Я использую NHibernate 3. Я пытался сделать это с новым провайдером Linq безуспех.Меня не волнует способ сделать это, пока он производит точный SQL-запрос выше.Я бы предпочел написать строго типизированный запрос, без магической строки, если это возможно.
Я новичок в NHibernate, поэтому этот вопрос может быть простым.
Вот немного больше информации
Я использую Fluent NHibernate с AutoMappings.Классы C # очень просты:
public class Class
{
public virtual int Id { get; set; }
public virtual string Name { get; set; }
public virtual DateTime CreatedOn { get; set; }
}
public class ClassEdition
{
public virtual int Id { get; set; }
public virtual Class Class { get; set; }
public virtual User CreatedBy { get; set; }
}
public class User
{
public virtual int Id { get; set; }
public virtual string Name { get; set; }
}