2011-01-12 3 views
4

내가 NH2에서이 작업을 수행하는 경향이 잠재적으로 재사용 내 쿼리 자체 포함하고 유지하려면NHibernate에 재사용 QueryOver

public class FeaturedCarFinder : DetachedCriteria 
{ 
    public FeaturedCarFinder(int maxResults) : base(typeof(Car)) 
    { 
     Add(Restrictions.Eq("IsFeatured", true)); 
     SetMaxResults(maxResults); 
     SetProjection(BuildProjections()); 
     SetResultTransformer(typeof(CarViewModelMessage)); 
    } 
} 

은 내가 NH3로 이동 한 것을 지금 QueryOver을 사용하고 싶습니다,하지만 난 'QueryOver를 사용하여 위의 작업을 수행하는 방법을 모르십니까? 단지보다는 기본 클래스로 DetachedCriteria를 사용하는

public class FeaturedCarFinder : QueryOver<Car, Car> 
{ 
    public FeaturedCarFinder(int maxResults) 
    { 
     Where(c => c.IsFeatured); 
     Take(maxResults); 
     BuildProjections(); 
     TransformUsing(Transformers.AliasToBean(typeof(CarViewModelMessage))); 
    } 
    private void BuildProjections() 
    { 
     SelectList(l => 
      l.Select(c => c.IsFeatured) 
      //... 
      ); 
    } 
} 

매우 유사하지만 QueryOver (즉, 두 유형의 인수 버전)의 사용을주의 : 북반구 사용자 목록

답변

6

누군가가 나에게 대답을했다 QueryOver를 기본 클래스로 사용합니다.