view Agendas/trunk/src/Agendas.NHibernate/SessionScope.cs @ 205:cfefc8a2ebc2

Added tag deploy pre 1.0 for changeset 5346c0500594
author nelopauselli
date Wed, 24 Aug 2011 10:19:48 -0300
parents 1deccd6c3cb2
children
line wrap: on
line source

using System;
using NHibernate;
using NHibernate.Context;

namespace Agendas.NHibernate
{
	public class SessionScope : IDisposable
	{
		private readonly ISessionFactory _sessionFactory;

		public SessionScope(ISessionFactory sessionFactory)
		{
			_sessionFactory = sessionFactory;

			var session = _sessionFactory.OpenSession();
			CurrentSessionContext.Bind(session);
		}

		public void Dispose()
		{
			var session = _sessionFactory.GetCurrentSession();

			session.Flush();
			session.Close();
		}
	}
}