2011-01-12 8 views

答えて

3

が外部結合は、このようなQueryOverを介して発現されています。だから、

IQueryOver<Cat,Kitten> catQuery = 
    session.QueryOver<Cat>() 
     .Left.JoinQueryOver(c => c.Kittens) 
      .Where(k => k.Name == "Tiddles"); 

(NHForge.org上QueryOverドキュメントから)

、あなたのケースで、これは以下のようになります。

var cats = 
     _nhibernateSession.QueryOver<Categories>() 
        .Left.JoinQueryOver(x => x.SearchCategory) 
        .Where (c => c.UserId == userId && c.IsDeleted = false); 

私はgroup by節を省略しました。選択した列に集約された列は表示されないためです。 (ただし、クエリはテストされていません)。