Ejemplo n.º 1
0
        private static void RegisterSessionFactory()
        {
            var connectionString = _container.Resolve<IConnectionString>();

            var allDomainAssemblies = new List<Assembly>();
            var allDataAssemblies = new List<Assembly>();
            _loadedModules.Each(m =>
                {
                    allDomainAssemblies.AddRange(m.DomainAssemblies);
                    allDataAssemblies.AddRange(m.DataAssemblies);
                });

            FluentNHibernate.Conventions.IConvention[] conventions = null;
            conventions = new FluentNHibernate.Conventions.IConvention[]
                {
                    new PrimaryKeyConvention(),
                    new ForeignKeyConvention(),
                    new HasManyConvention(),
                    new UserTypeConvention(),
                    new CascadeAllConvention()
                };

            _container.Register(
                Component.For<ISessionFactory>()
                            .UsingFactoryMethod(() =>
                                BuildSessionFactory(connectionString.Value,conventions,
                                    allDomainAssemblies.ToArray(), allDataAssemblies.ToArray())));
        }