NSoft.NFramework.Data.NHibernateEx.ForTesting.UnitOfWorkTestContext.For C# (CSharp) Method

For() public static method

인자에 맞는 UnitOfWorkTestContext의 인스턴스를 빌드한다.
public static For ( IWindsorContainer container, UnitOfWorkTestContextDbStrategy dbStrategy, MappingInfo mappingInfo, Action configAction ) : UnitOfWorkTestContext
container IWindsorContainer Container
dbStrategy UnitOfWorkTestContextDbStrategy 테스트용 DB 생성 전략
mappingInfo MappingInfo NHibernate용 Entity 정보
configAction Action 추가 환경설정 작업용 델리게이트
return UnitOfWorkTestContext
        public static UnitOfWorkTestContext For(IWindsorContainer container,
                                                UnitOfWorkTestContextDbStrategy dbStrategy,
                                                MappingInfo mappingInfo,
                                                Action<NHibernate.Cfg.Configuration> configAction) {
            var context = For(string.Empty, dbStrategy, mappingInfo, configAction);
            context._container = container;
            return context;
        }

Same methods

UnitOfWorkTestContext::For ( string containerConfigPath, UnitOfWorkTestContextDbStrategy dbStrategy, MappingInfo mappingInfo, Action configAction ) : UnitOfWorkTestContext

Usage Example

            protected internal UnitOfWorkTestContext GetUnitOfWorkTestContext()
            {
                Predicate <UnitOfWorkTestContext> criteria;

                if (_container == null)
                {
                    criteria = ctx => ctx.ContainerConfigPath == StringOrEmpty(_containerConfigPath) &&
                               ctx.DatabaseEngine == _root.DatabaseEngine &&
                               ctx.DatabaseName == _root.DatabaseName;
                }
                else
                {
                    criteria = ctx => ctx.Container == _container &&
                               ctx.DatabaseEngine == _root.DatabaseEngine &&
                               ctx.DatabaseName == _root.DatabaseName;
                }

                var context = Contexts.Find(criteria);

                if (context == null)
                {
                    var dbStrategy = UnitOfWorkTestContextDbStrategy.For(_root.DatabaseEngine,
                                                                         _root.DatabaseName,
                                                                         _root.NHibernateConfigurationProperties);

                    context = (_container != null)
                                  ? UnitOfWorkTestContext.For(_container, dbStrategy, _root.MappingInfo, _root.ConfigAction)
                                  : UnitOfWorkTestContext.For(_containerConfigPath, dbStrategy, _root.MappingInfo, _root.ConfigAction);


                    Contexts.Add(context);

                    if (IsDebugEnabled)
                    {
                        log.Debug("Create another UnitOfWorkContext for: [{0}]", context);
                    }
                }
                return(context);
            }