title: Is it necessary to wrap nHibernate futures in a transaction?
body: <p>Is it necessary to wrap nHibernate futures in a transaction?</p>
  
  <p>Such as:</p>
  
  <pre><code>using (var s = sf.OpenSession())
  using (var tx = s.BeginTransaction())
  {
      var blogs = s.CreateCriteria&lt;Blog&gt;()
          .SetMaxResults(30)
          .List&lt;Blog&gt;();
      var countOfBlogs = s.CreateCriteria&lt;Blog&gt;()
          .SetProjection(Projections.Count(Projections.Id()))
          .UniqueResult&lt;int&gt;();
  
      Console.WriteLine("Number of blogs: {0}", countOfBlogs);
      foreach (var blog in blogs)
      {
          Console.WriteLine(blog.Title);
      }
  
      tx.Commit();
  }
  </code></pre>
  
  <p>From here:</p>
  
  <p><a href="https://ayende.com/blog/3979/nhibernate-futures" rel="nofollow noreferrer">https://ayende.com/blog/3979/nhibernate-futures</a></p>
  
  <p>I can't see a reason to do this. It's a select rather than an insert, or update etc.</p>