2009-12-22 30 views

回答

3

直截了當它看起來像這樣:

ICriteria query = Session 
    .CreateCriteria<Article>("a") 
    .CreateCriteria("a.Categories", "c") 
    .Add(Expression.Eq("c.ID", categoryId) 

也有IDEQ表達,但你不能說哪個ID(其中實體/別名),所以我不信任它。

ICriteria query = Session 
    .CreateCriteria<Article>("a") 
    .CreateCriteria("a.Categories", "c") 
    .Add(Expression.IdEq(categoryId) // a.ID or c.ID? 

存在與加入到集合的一個問題。你會得到儘可能多的結果,因爲文章和類別的連接會產生,這可能會使文章倍增。

使用結果轉換器或子查詢。見this post

相關問題