2010-07-11 21 views
5

Yüklü koleksiyonlar ile geri dönmeye çalıştığım varlıklarımın bir örneği.NHibernate Eager Yükleme Koleksiyonları + Sayfa Gösterimi

Karışımları -> Parçalar (toplama) -> Etiketler (toplama)

Bunu çağrı olmadan, istekli yüklenen parçaları ile & etiketlerini Karışımları bir disk belleği listesini döndürmek gerekir Future < kullanarak relativly basittir >() işlevi, parçalar + etiketleri için birden çok sorguyu çalıştırmak için kullanılır.

Bu verinin disk belleği olması gerekiyor ... Verilerimi görüntülerken NHibernate'in N + 1 sayısını almaması için tüm verilerimi nasıl geri alabilirim? Paul

cevap

5
  1. herhangi Parça veya Etiketler olmadan istediğiniz Karışımları sayfasını getir. Yukarıdaki adımda tüm Karmaları getirilen karşılık

  2. tüm Tracks Fetch (sol katılmak Etiketler) (yani HQL kullanıyorsanız, tüm Mix'ler kimliklerini aktarma SetParameterList kullanmak)

Toplam : 2 sorgu.

+0

Karışımlara karşılık geldiğini söylediğinizde, karışımlarımın ID'lerinden bir IN() deyimiyle mi demek istiyorsunuz? –

+0

@Paul Hinett: tam olarak. –

+0

Teşekkürler ... mantıklı! –

İlgili konular