2011-03-09 47 views
0

我堅持在映射(多對一,多對多,一對多)中的幾個屬性在哪裏我無處不在定義爲lazy="true"(對於多對一:lazy="proxy")。這裏映射類內的一個例子HelperPerson懶惰=「真」,似乎沒有效果,一切都加載

<set name="WorkingTimes" inverse="true" cascade="all-delete-orphan" lazy="true">    
     <key column="PersonId"/> 
     <one-to-many class="Proj.Model.WorkingTime, Proj"/> 
    </set> 

它沒有任何幫助。 NHibernate的大火已連接WorkingTimes查詢的每一行(順便說一句,如果我用lazy="false" fetch="join"它不會改變任何東西)之後我打電話.List -function(20:23應該觸發查詢任何屬性之前):

NHibernate.IQuery hibQuery = _HibSession.CreateQuery("SELECT hp FROM Proj.Model.HelperPerson hp WHERE hp.Person.PersonId = 19 "); 
    hibQuery.List(resList); 

我是否忘記明顯的東西?或者是否有像隱藏的全局配置那樣告訴NHibernate忽略一般的延遲加載?

Thx for any tipps! sl3dg3

回答

0

原來,在setter中發生了一些邏輯,這觸發了NHibernate加載所有內容。塞特和邏輯=邪惡......: -/