1
votes

I've seen the following line of code:

return MsSqlConfiguration.MsSql2008
                .UseOuterJoin()
                .ProxyFactoryFactory(typeof(ProxyFactoryFactory))
                .ConnectionString(x => x.FromConnectionStringWithKey("ApplicationServices"))
                .ShowSql();

Looking in fluent's wiki I got the explanation about "self explanation". I would appreciate if somebody explain the meaning of UseOuterJoin(), ProxyFactoryFactory() or give a link to read myself.

Thanks in advance!

1

1 Answers

2
votes

http://nhibernate.info/doc/nh/en/index.html#configuration-optional-outerjoin

If your database supports ANSI or Oracle style outer joins, outer join fetching might increase performance by limiting the number of round trips to and from the database (at the cost of possibly more work performed by the database itself). Outer join fetching allows a graph of objects connected by many-to-one, one-to-many or one-to-one associations to be retrieved in a single SQL SELECT.

By default, the fetched graph when loading an objects ends at leaf objects, collections, objects with proxies, or where circularities occur.

For a particular association, fetching may be configured (and the default behaviour overridden) by setting the fetch attribute in the XML mapping.

http://nhibernate.info/blogs/nhibernate/archive/2008/11/09/nh2-1-0-bytecode-providers.aspx

ProxyFactoryFactory just specifies how your proxies will be created.