view Agendas/trunk/src/Agendas.NHibernate/SessionScope.cs @ 193:523e3586b1c1

Combinar
author juanjose.montesdeocaarbos
date Wed, 10 Aug 2011 08:21:32 -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();
		}
	}
}