I think that I forgot something, but it looks like lazy doesn't really have
any meaning anymore for <set>, the important bit seems to be outer-join,
rather than lazy.
For the following code:
using (var session = sessionFactory.OpenSession())
using (var tx = session.BeginTransaction())
{
var blog = session.Get<Blog>(1);
foreach (var post in blog.Posts)
{
Console.WriteLine(post.Title);
}
tx.Commit();
}
Here are the number of statements per options
lazy outer-join # of SQL statements true auto 2 true true 1 true false
2 false auto 2 false true 1 false false 2
Did I miss anything?