當我們必須在NHibernate中使用加載加載嗎?它的用法是什麼?當我們必須在NHibernate中使用加載加載嗎?它的用法是什麼?
回答
一種用法是何時緩存或存儲對象圖(例如在ASP.NET緩存中)。如果您不存儲整個圖表,則會丟失關於分離對象的信息。當然你可以重新附加對象,但這可能是一個新的數據庫往返。
如果你不急於加載你的集合,你需要觸摸每一個來調用懶惰的獲取。在這些情況下,渴望獲取更有用。
謝謝jishi,如何在我的應用程序中實現急切的加載? – 2010-06-07 12:11:50
Eager加載要麼全局定義在您的集合上(意思是,lazy =「false」),要麼在查詢時用ICriteria(FetchMode.Eager) – jishi 2010-06-07 12:16:28
請參閱:http://stackoverflow.com/questions/2987697/is-there -any-utility-built-in-class-in-nhibernate-that-force-a-class-to-load-i 是您的答案我的解決方案? – 2010-06-07 12:23:20
也許這個由Udi演示可以幫助你決定。
http://www.infoq.com/presentations/Making-Roles-Explicit-Udi-Dahan
- 1. 什麼是PostgreSQL函數,什麼時候我必須使用它們?
- 2. 當我們必須使用DebuggerDisplay屬性?使用這個的優點是什麼?
- 3. 爲什麼我必須在這裏使用重載?
- 4. 爲什麼我必須重新加載表中的行的方法只能重新加載一次?
- 5. 加載項,所以它必須是爲所有用戶安裝和運行每無法在Windows加載7
- 6. IQuery NHibernate - 我必須加密一個加密的IUserType參數嗎?
- 7. Eclipse中的Tycho是什麼,我必須學會去愛它嗎?
- 8. 加載它必須是在同一個目錄視圖MVC3
- 9. 爲什麼我們必須在hadoop中使用多個節點?
- 10. 無法弄清楚NHibernate使用什麼延遲加載策略
- 11. 使用openIdDict我們必須在Startup.cs中使用'UseIdentity()'嗎?
- 12. 當我們必須在SQL Server中使用NVARCHAR/NCHAR而不是VARCHAR/CHAR嗎?
- 13. 當頁面加載完成後,我必須禁用按鈕,完全加載頁面後,我必須啓用使用jQuery或JavaScript如何做?
- 14. PHP類加載 - 我必須確保我的類沒有卸載嗎?
- 15. 使用ActiveRecord在nHibernate中加載惰性加載實體
- 16. 爲什麼我們必須在onClick方法中添加'查看'作爲參數,以及它做了什麼?
- 17. 啓用會話 - 我們必須自己清理它們嗎?
- 18. 是否必須在Nhibernate的SaveOrUpdate之前加載/獲取實體?我的ASP.NET MVC應用程序中的
- 19. 我們必須在iPhone應用程序中存儲下載數據嗎?
- 20. 什麼是Autoconf?爲什麼人們使用它?我應該使用它嗎?
- 21. 我必須重新加載RevMob廣告嗎?
- 22. 爲什麼我們必須爲@SuppressWarnings(「unchecked」)使用中間變量?
- 23. System.Runtime.Serialization使用ReflectionOnly API時,相關程序集必須預加載或加載
- 24. .NET類加載器 - 它是什麼?
- 25. 我必須使用BreezeController嗎?
- 26. NHibernate:多對一 - *必須*您加載父對象?
- 27. 爲什麼我必須添加System.Data.Entity才能使用System.Data.Objects?
- 28. 爲什麼我們有這麼多種裝配加載方法?
- 29. 當我們重新加載Elixir模塊時會發生什麼?
- 30. 什麼是我們必須調用dispose託管代碼
領域驅動設計(DDD)聚合根概念可以用來幫助你決定何時應用急於與延遲加載。 – JulianM 2010-06-07 14:26:43