public virtual void CreateUnitOfWork() {
Guard.Assert(_unitOfWorkNestingLevel != 0, "중첩된 UnitOfWork를 만들려면 CreateNextedUnitOfWork() 메소드를 호출하세요.");
if(log.IsInfoEnabled)
log.Info("현 Session을 사용하여 UnitOfWork를 시작하고, Database를 설정합니다");
UnitOfWork.Stop();
UnitOfWork.DisposeUnitOfWorkFactory();
UnitOfWork.Start();
_dbStrategy.CreateDatabaseMedia();
SetupDatabase(UnitOfWork.CurrentSession);
_unitOfWorkNestingLevel = 0;
}