view Agendas/trunk/src/Agendas.NHibernate/SessionScope.cs @ 286:a8f7c41e3b47

#196: Patrocinadores, en el histórico de eventos.
author juanjose.montesdeocaarbos
date Mon, 02 Jan 2012 15:51:19 -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();
		}
	}
}