view Agendas/trunk/src/Agendas.NHibernate/SessionScope.cs @ 275:bf993f99cee3

Ticket #123: Patrocinadores de las vans.
author juanjose.montesdeocaarbos
date Wed, 14 Dec 2011 08:15:44 -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();
		}
	}
}