2011-01-12 18 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(すなわち2種類の引数バージョン)の使用に注意してください。NHユーザーリストに

答えて

6

誰かが私に答えを与えました基本クラスとしてQueryOver。

関連する問題