rendered paste bodyusing System;
using NHibernate;
using NHibernate.Cfg;
using System.Collections.Generic;
using System.Collections;
namespace Peon.Database
{
public class DataAccess : IDisposable
{
private static Configuration cfg;
private ISessionFactory factory;
private ISession session;
private ITransaction transaction;
public DataAccess()
{
cfg = new Configuration();
cfg.AddAssembly("Peon.Game");
factory = cfg.BuildSessionFactory();
session = factory.OpenSession();
}
public void Save(object obj)
{
transaction = session.BeginTransaction();
session.Save(obj);
transaction.Commit();
session.Close();
}
public T Load<T>(string id)
{
T obj = (T)session.Load(typeof(T), id);
session.Close();
return obj;
}
public IList Load<T>()
{
IList list = session.CreateCriteria(typeof(T)).List();
session.Close();
return list;
}
#region IDisposable Members
public void Dispose()
{
transaction = null;
session = null;
factory = null;
cfg = null;
GC.Collect();
}
#endregion
}
}