로이 쿼리를 할 수있는 방법은 어떻게 NHibernate에내가 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
내가 성공하지 않고 새의 LINQ 공급자와 그것을 시도 NHibernate에 3을 사용하고 있습니다와 함께이 쿼리를 할 수 있습니다. 위의 정확한 SQL 쿼리를 생성하는 한 그것을하는 방법에 대한 상관 없어. 가능하다면 매직 문자열없이 강력한 형식의 쿼리를 작성하는 것이 좋습니다.
나는이 질문이 간단 할 수 있도록 NHibernate를 처음 사용합니다. 여기
내가 AutoMappings과 유창함 자 NHibernate를 사용하여 좀 더 정보
입니다. 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; }
}
이것은 일반 구형 문자열이기 때문에 "강력하게 입력 한"의미가 아닙니다. "클래스"테이블의 이름이 바뀌면 응용 프로그램이 컴파일되지 못하게 할 수 없습니다. 그러나 나는 생각한다 (아직 시도하지 않았다) 내가 원하는 것을하고있다. 나는이 대답을 받아들이 기 전에 가능한 대안을 조금 기다릴 것이다. – W3Max
도와 드릴 수 있도록 클래스와 매핑을 추가 할 수 있습니까? – Phill
추가 설명보기. –