/// <summary> /// 启动一个无状态的工作单元 /// </summary> /// <returns></returns> public static INhibernateUnitOfWork StartStateless() { if (CurrentUnitOfWork != null) { throw new InvalidOperationException("You cannot start more than one unit of work at the same time."); } var unitOfWork = mUnitOfWorkFactory.Create(false); CurrentUnitOfWork = unitOfWork; return(unitOfWork); }
/// <summary> /// 释放工作单元 /// </summary> /// <param name="adapter"></param> public static void DisposeUnitOfWork(INhibernateUnitOfWork adapter) { CurrentUnitOfWork = null; }
void IUnitOfWorkFactory.DisposeUnitOfWork(INhibernateUnitOfWork adapter) { this.DisposeUnitOfWork(adapter); }
public NHRepository(INhibernateUnitOfWork nhunitofwork, ISession session) { NHUnitOfWork = nhunitofwork; _currentSession = session; }
public void DisposeUnitOfWork(INhibernateUnitOfWork adapter) { CurrentSession = null; UnitOfWork.DisposeUnitOfWork(adapter); }