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

FluentFor() public static method

인자에 맞는 UnitOfWorkTestContext의 인스턴스를 빌드한다.
public static FluentFor ( 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 FluentFor(IWindsorContainer container,
                                                      UnitOfWorkTestContextDbStrategy dbStrategy,
                                                      MappingInfo mappingInfo,
                                                      Action<NHibernate.Cfg.Configuration> configAction,
                                                      params IConvention[] conventions) {
            var context = FluentFor(string.Empty, dbStrategy, mappingInfo, configAction, conventions);
            context._container = container;
            return context;
        }

Same methods

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

Usage Example

Example #1
0
            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.FluentFor(_container, dbStrategy, _root.MappingInfo, _root.ConfigAction,
                                                                    _root.Conventions)
                                  : UnitOfWorkTestContext.FluentFor(_containerConfigPath, dbStrategy, _root.MappingInfo,
                                                                    _root.ConfigAction, _root.Conventions);

                    Contexts.Add(context);

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