In this part, we’re going to wrap our NHibernate transactions and create a factory for them so we can use them in higher layers without referencing NHibernate all the way up. If you’re new to the series, you can read Part 1 , Part 2 , Part 3 , Part 4...