Example #1
0
        public SessionFactoryBuilder(IDatabasePlatform platform, string connStr, IList<Assembly> assemblies, bool updateSchema, string defaultSchema, ILinqToHqlGeneratorsRegistry linqRegistry, bool showSql, Action<global::NHibernate.Cfg.Configuration> exposedConfig)
        {
            var configurer = platform.AsNHibernateConfiguration(connStr) as IPersistenceConfigurer;

            global::NHibernate.Cfg.Configuration configuration = null;

            _sessionFactory = Fluently.Configure()
            .Database(configurer)
            .Mappings(m => assemblies.ToList().ForEach(asm=> m.FluentMappings.AddFromAssembly(asm)))

            .ExposeConfiguration(cfg =>
                                 {
                                     configuration = cfg;
                                     cfg.SetProperty(global::NHibernate.Cfg.Environment.CollectionTypeFactoryClass, typeof(List<>).AssemblyQualifiedName);
                                     cfg.SetProperty(global::NHibernate.Cfg.Environment.PrepareSql, false.ToString());
                                     cfg.SetProperty(global::NHibernate.Cfg.Environment.ShowSql, showSql.ToString());
                                     cfg.SetProperty(global::NHibernate.Cfg.Environment.TransactionStrategy, "NHibernate.Transaction.AdoNetTransactionFactory");
                                     if(!String.IsNullOrEmpty(defaultSchema))
                                         cfg.SetProperty(global::NHibernate.Cfg.Environment.DefaultSchema, defaultSchema);
                                     if (null != linqRegistry)
                                        cfg.SetProperty(global::NHibernate.Cfg.Environment.LinqToHqlGeneratorsRegistry, linqRegistry.GetType().AssemblyQualifiedName);
                                     if(exposedConfig != null)
                                        exposedConfig(cfg);

                                 })
            .BuildSessionFactory();
            if (updateSchema)
                UpdateSchema(configuration);
        }
Example #2
0
        } // Private constructor

        public static void Register(ILinqToHqlGeneratorsRegistry registry, Expression <Func <T, TResult> > property,
                                    Expression <Func <T, TResult> > calculationExp)
        {
            registry.RegisterGenerator(ReflectionHelper.GetProperty(property),
                                       new CalculatedPropertyGenerator <T, TResult> {
                _calculationExp = calculationExp
            });
        }
Example #3
0
        public NHibernateConfiguration RegisterLinqExtension(object extension)
        {
            var item = extension as ILinqToHqlGeneratorsRegistry;

            if (item != null)
            {
                this._linqExtension = item;
            }
            return(this);
        }
 public ConstantTypeLocatorVisitor(
     bool removeMappedAsCalls,
     System.Type targetType,
     IDictionary <ConstantExpression, NamedParameter> parameters,
     ISessionFactoryImplementor sessionFactory)
 {
     _removeMappedAsCalls = removeMappedAsCalls;
     _targetType          = targetType;
     _sessionFactory      = sessionFactory;
     _parameters          = parameters;
     _functionRegistry    = sessionFactory.Settings.LinqToHqlGeneratorsRegistry;
 }
Example #5
0
 public static void Merge(this ILinqToHqlGeneratorsRegistry registry, IHqlGeneratorForMethod generator)
 {
     if (registry == null)
     {
         throw new ArgumentNullException("registry");
     }
     if (generator == null)
     {
         throw new ArgumentNullException("generator");
     }
     Array.ForEach(generator.SupportedMethods.ToArray(), method => registry.RegisterGenerator(method, generator));
 }
Example #6
0
 public static void Merge(this ILinqToHqlGeneratorsRegistry registry, IHqlGeneratorForProperty generator)
 {
     if (registry == null)
     {
         throw new ArgumentNullException("registry");
     }
     if (generator == null)
     {
         throw new ArgumentNullException("generator");
     }
     Array.ForEach(generator.SupportedProperties.ToArray(), property => registry.RegisterGenerator(property, generator));
 }
 public static void Merge(this ILinqToHqlGeneratorsRegistry registry, IHqlGeneratorForMethod generator)
 {
     if (registry == null)
     {
         throw new ArgumentNullException("registry");
     }
     if (generator == null)
     {
         throw new ArgumentNullException("generator");
     }
     foreach (var method in generator.SupportedMethods)
     {
         registry.RegisterGenerator(method, generator);
     }
 }
 public static void Merge(this ILinqToHqlGeneratorsRegistry registry, IHqlGeneratorForProperty generator)
 {
     if (registry == null)
     {
         throw new ArgumentNullException("registry");
     }
     if (generator == null)
     {
         throw new ArgumentNullException("generator");
     }
     foreach (var property in generator.SupportedProperties)
     {
         registry.RegisterGenerator(property, generator);
     }
 }
Example #9
0
 public HqlGeneratorExpressionVisitor(VisitorParameters parameters)
 {
     _functionRegistry = parameters.SessionFactory.Settings.LinqToHqlGeneratorsRegistry;
     _parameters       = parameters;
 }
		public SelectClauseHqlNominator(VisitorParameters parameters)
		{
			_functionRegistry = parameters.SessionFactory.Settings.LinqToHqlGeneratorsRegistry;
		}
 public SelectClauseHqlNominator(VisitorParameters parameters)
 {
     _functionRegistry = parameters.SessionFactory.Settings.LinqToHqlGeneratorsRegistry;
 }
		public HqlGeneratorExpressionTreeVisitor(VisitorParameters parameters)
		{
			_functionRegistry = parameters.SessionFactory.Settings.LinqToHqlGeneratorsRegistry;
			_parameters = parameters;
		}
Example #13
0
 public SelectClauseVisitor(System.Type inputType, VisitorParameters parameters)
 {
     functionRegistry = parameters.SessionFactory.Settings.LinqToHqlGeneratorsRegistry;
     _inputParameter  = Expression.Parameter(inputType, "input");
     _parameters      = parameters;
 }
Example #14
0
 public ExpressionParameterVisitor(PreTransformationResult preTransformationResult)
 {
     _sessionFactory   = preTransformationResult.SessionFactory;
     _queryVariables   = preTransformationResult.QueryVariables;
     _functionRegistry = _sessionFactory.Settings.LinqToHqlGeneratorsRegistry;
 }
        public HqlGeneratorExpressionTreeVisitor(VisitorParameters parameters)
        {
					functionRegistry = parameters.SessionFactory.Settings.LinqToHqlGeneratorsRegistry;
        	_parameters = parameters;
			_hqlTreeBuilder = new HqlTreeBuilder();
        }
Example #16
0
 public SelectClauseVisitor(System.Type inputType, VisitorParameters parameters)
 {
 	functionRegistry = parameters.SessionFactory.Settings.LinqToHqlGeneratorsRegistry;
 	_inputParameter = Expression.Parameter(inputType, "input");
     _parameters = parameters;
 }
Example #17
0
 public HqlGeneratorExpressionTreeVisitor(VisitorParameters parameters)
 {
     functionRegistry = parameters.SessionFactory.Settings.LinqToHqlGeneratorsRegistry;
     _parameters      = parameters;
     _hqlTreeBuilder  = new HqlTreeBuilder();
 }
Example #18
0
        public SessionFactoryBuilder(IDatabasePlatform platform, string connStr, IList <Assembly> assemblies, bool updateSchema, string defaultSchema, ILinqToHqlGeneratorsRegistry linqRegistry, bool showSql, Action <global::NHibernate.Cfg.Configuration> exposedConfig)
        {
            var configurer = platform.AsNHibernateConfiguration(connStr) as IPersistenceConfigurer;

            global::NHibernate.Cfg.Configuration configuration = null;

            _sessionFactory = Fluently.Configure()
                              .Database(configurer)
                              .Mappings(m => assemblies.ToList().ForEach(asm => m.FluentMappings.AddFromAssembly(asm)))

                              .ExposeConfiguration(cfg =>
            {
                configuration = cfg;
                cfg.SetProperty(global::NHibernate.Cfg.Environment.CollectionTypeFactoryClass, typeof(List <>).AssemblyQualifiedName);
                cfg.SetProperty(global::NHibernate.Cfg.Environment.PrepareSql, false.ToString());
                cfg.SetProperty(global::NHibernate.Cfg.Environment.ShowSql, showSql.ToString());
                cfg.SetProperty(global::NHibernate.Cfg.Environment.TransactionStrategy, "NHibernate.Transaction.AdoNetTransactionFactory");
                if (!String.IsNullOrEmpty(defaultSchema))
                {
                    cfg.SetProperty(global::NHibernate.Cfg.Environment.DefaultSchema, defaultSchema);
                }
                if (null != linqRegistry)
                {
                    cfg.SetProperty(global::NHibernate.Cfg.Environment.LinqToHqlGeneratorsRegistry, linqRegistry.GetType().AssemblyQualifiedName);
                }
                if (exposedConfig != null)
                {
                    exposedConfig(cfg);
                }
            })
                              .BuildSessionFactory();
            if (updateSchema)
            {
                UpdateSchema(configuration);
            }
        }
Example #19
0
 public NullableExpressionDetector(ISessionFactoryImplementor sessionFactory, ILinqToHqlGeneratorsRegistry functionRegistry)
 {
     _sessionFactory   = sessionFactory;
     _functionRegistry = functionRegistry;
 }
Example #20
0
 public HqlGeneratorExpressionVisitor(VisitorParameters parameters)
 {
     _functionRegistry           = parameters.SessionFactory.Settings.LinqToHqlGeneratorsRegistry;
     _parameters                 = parameters;
     _nullableExpressionDetector = new NullableExpressionDetector(_parameters.SessionFactory, _functionRegistry);
 }