/// <summary>
/// Starts a <see cref="UnitOfWork" /> and creates the db schema.
/// </summary>
/// <seealso cref="IoC" />
/// <seealso cref="UnitOfWork" />
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;
}