Search code examples
nhibernateconfigurationlazy-loadingeager-loadinghbm

Is it possible to configure NHibernate at runtime setting the loading-technique (eager/lazy) for a collection


Ya is this possible :) ?


Solution

  • You can change the fetch mode per query dynamically.

    IList cats = sess.CreateCriteria(typeof(Cat))
        .Add( Expression.Like("Name", "Fritz%") )
        .SetFetchMode("Mate", FetchMode.Eager)
        .SetFetchMode("Kittens", FetchMode.Eager)
        .List();
    

    See section 12.5 of the documentation.