2012-09-22 18 views
0

我有一個具有不同屬性的類,它們中的每個都被映射到不同的複雜類型(組件)。問題是,當我嘗試訪問其中一個屬性時,NHibernate也會導致獲取另一個組件的列,儘管兩個屬性都啓用了延遲加載。同一個類中的多個組件屬性,訪問其中一個會觸發一個完整的選擇

var user = _session.Load<User>(userId); 
user.PasswordInfo.Password; /* This causes to load other properties from another 
     component property, e.g. user.MemebershipInfo.IsOnline */ 

我錯過了什麼?

+0

'我失蹤了什麼?' - 顯示你的代碼。 –

回答

2

這是預期的行爲。

懶惰屬性一次加載完畢。此功能背後的想法是,您將主要用於blob屬性或大多數工作流程中未使用的屬性組。

這是一件好事。否則,具有多個lazy屬性的類將獲得許多DB調用,以顯示這些屬性的值。

相關問題