Fluent NHibernate and lazy load
.net, c#, fluent-nhibernate, lazy-loading, session
Solution
I found an answer of my question. If don't write anywhere `.Not.LazyLoad()` and need to get `Comments`, you must to write this (get user with id=1):
var user = session.QueryOver<User>()
.Fetch(u => u.Comments)
.Eager
.List()
.Where(u => u.Id == userId)
.FirstOrDefault();
Or, what a you need.
Problem
I have some questions about about lazy loading When I have mapped my objects, I write `.Not.LazyLoad()` everywhere in my application and it works good. But I have some problems. Example: I have a class `User`. It has properties `Name` and `Comments`. Mapping `Comments` in `User`: ``` HasMany(x => x.Comments).KeyColumn("UserId").Not.LazyLoad(); ``` Which works good, but everywhere I load `User`, `Comments` get loaded with it, which is bad... Example of load `User`: ``` var user = session.Get<User>(1); ``` If the user has a lot of comments my application works bad... The question is how do I enable LazyLoad if needed? Or how do I disable Lazy loading, if I don't write `.Not.LazyLoad()`?