NHibernate exception: Transaction not connected, or was disconnected

There's a problem with your session-per-request pattern implementation. ASP.NET is multi-threaded and the session is being closed when a thread terminates instead of when the request ends. There are many examples of how to manage session-per-request and NHibernate has a built in NHibernate.Context.WebSessionContext but I prefer to use a dependency injection framework such as Ninject.


This was a comment, but I had the same issue as well.

This error can occur when a trigger causes a database level exception. This will cause the transaction to be rolled back hence the exception.