nhibernate使用记录
最基本的元素NHibernate.dll(这是必须的,各种对数据库操作都需要它),NHibernate.ByteCode.LinFu和NHibernate.ByteCode.Castle这两个,任选其一,用作数据持久化,hibernate.cfg.xml,这个是sessionfactory 如何操作数据库的一个配置,也可以放在web.config里,但是单拿出来更好,这些是基本配置。困了,下一回记录剩下的东西。然后就是实体类了和实体类的映射文件。最后是执行代码了。
public class NHibernateHelper
{
private const string CurrentSessionKey = "nhibernate.current_session";
private static readonly ISessionFactory sessionFactory;
static NHibernateHelper()
{
sessionFactory = new Configuration().Configure().BuildSessionFactory();
}
public static ISession GetCurrentSession()
{
HttpContext context = HttpContext.Current;
ISession currentSession = context.Items[CurrentSessionKey] as ISession;
if (currentSession == null)
{
currentSession = sessionFactory.OpenSession();
context.Items[CurrentSessionKey] = currentSession;
}
return currentSession;
}
}
我把它的初始化放在global下,其实放在一个类里边也是一样的。
Models.NHibernateHelper nhHelper=new MvcApplication2.Models.NHibernateHelper();
下回记录多表操作