2010-06-09 93 views
2

使用調用setFetchMode我有這樣的方法:問題NHibernate的

public IEnumerable<Album> GetAllAlbumsWithTracks() 
    { 
     var albums = Session.CreateCriteria(typeof(Album)) 
      .SetFetchMode("Tracks", FetchMode.Eager) 
      .SetResultTransformer(new DistinctRootEntityResultTransformer()).Future<Album>(); 

     return albums; 
    } 

,但如果我設置.SetMaxResult(10)我回來10首歌曲沒有相冊。我該如何解決?

+0

類似http://stackoverflow.com/questions/3221482/nhibernate-eager-loading-collections-paging? – David 2011-01-18 21:48:05

回答

1

嘗試設置提取模式的加入

+1

如果我不添加SetMaxResult,我會在單個查詢中找回所有內容。 如果我設置FetchMode.Join&SetMaxResult然後我得到曲目。 如果我設置FetchMode.Select&SetMaxResult然後我得到專輯,但我得到 選擇N + 1沒有一個單一的查詢。 如何在單個查詢中獲得10個相冊? – CurlyFro 2010-06-09 19:36:56