Когда мы должны использовать загрузку в NHibernate? Что это за использование?Когда мы должны использовать загрузку в NHibernate? Что это за использование?
ответ
Одно использование - это когда вы будете кэшировать или хранить граф объектов (например, в кэше ASP.NET). Если вы не храните весь график, вам будет отсутствовать информация о отдельном объекте. Конечно, вы можете повторно подключать объекты, но это, вероятно, будет новым обращением к базе данных.
Если вы не хотите загружать свои коллекции, вам нужно будет прикоснуться к каждому из них, чтобы вызвать ленивую выборку. В этих случаях гораздо более полезной является получение желаемого результата.
Спасибо jishi, Как я могу реализовать нетерпеливую загрузку в своем приложении? –
Загружаемая загрузка либо определяется глобально на вашей коллекции (что означает, lazy = "false"), либо во время запроса с ICriteria (FetchMode.Eager) – jishi
см. Это: http://stackoverflow.com/questions/2987697/is-there -any-utility-or-built-in-class-in-nhibernate-that-force-a-class-to-load-i - это ваш ответ на мое решение? –
Возможно, эта презентация Udi поможет вам решить.
http://www.infoq.com/presentations/Making-Roles-Explicit-Udi-Dahan
Домен-Driven Design (DDD) Совокупный Root концепция может быть использована, чтобы помочь вам решить, когда применять нетерпеливый против отложенной загрузки. – JulianM