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

For() public static method

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

Same methods

UnitOfWorkTestContext::For ( IWindsorContainer container, 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);
            }