示例#1
0
        public Repository()
        {
            IPersistenceConfigurer persistenceConfigurer = MySQLConfiguration.Standard.ConnectionString("Data Source=TransportV2.db;Version=3;New=False;Compress=True;FailIfMissing=True;");
            var                  cfg                  = new AutomappingConfiguration();
            Assembly             assemblyModel        = Assembly.Load("Business.Layer.Contract");
            AutoPersistenceModel autoPersistenceModel = AutoMap.Assembly(assemblyModel, cfg);

            _sessionFactory = Fluently.Configure()
                              .Database(persistenceConfigurer)
                              .Mappings(m => m.AutoMappings.Add(autoPersistenceModel))
                              .BuildSessionFactory();
            _session = _sessionFactory.OpenSession();
        }
示例#2
0
        private ISessionFactory CreateSessionFactory()
        {
            Configuration initialConfiguration = this.GetConfiguration()
                                                 .OrFail(nameof(this.GetConfiguration) + "()");

            FluentConfiguration fluentConfiguration = Fluently.Configure(initialConfiguration)
                                                      //.CurrentSessionContext<CurrentSessionContext>()
                                                      //.Mappings(
                                                      //    m => m.FluentMappings
                                                      //          .Add<GusContractorSnapshot.Map>()
                                                      //          .Add<GusContractorLog.Map>()
                                                      //)
            ;

            Library[] libraries = this.Librarian.OrFail(nameof(this.Librarian))
                                  .GetLibraries();

            IConvention[] conventions = this.GetConventions()
                                        .OrFail(nameof(this.Conventions));

            Type[] entities = this.GetEntities()
                              .ToArray();

            var automappingConfiguration = new AutomappingConfiguration(entities);

            foreach (Library library in libraries)
            {
                Assembly             assembly         = library.GetAssembly();
                AutoPersistenceModel assemblyMappings = AutoMap.Assembly(assembly, automappingConfiguration);
                assemblyMappings.Conventions.Add(conventions);
                assemblyMappings.UseOverridesFromAssembly(assembly);
                assemblyMappings.IgnoreBase <Entity>();

                fluentConfiguration.Mappings(m =>
                {
                    m.FluentMappings.Conventions.Add(conventions);
                    m.AutoMappings.Add(assemblyMappings);
                });
            }

            this.configuration = fluentConfiguration.BuildConfiguration();
            return(fluentConfiguration.BuildSessionFactory());
        }
示例#3
0
        protected void Application_Start()
        {
            GlobalConfiguration.Configure(WebApiConfig.Register);
            var formatters    = GlobalConfiguration.Configuration.Formatters;
            var jsonFormatter = formatters.JsonFormatter;
            var settings      = jsonFormatter.SerializerSettings;

            settings.Converters.Add(new IsoDateTimeConverter());
            settings.Formatting       = Formatting.Indented;
            settings.ContractResolver = new CamelCasePropertyNamesContractResolver();

            Store = new DocumentStore {
                ConnectionStringName = "RavenDB"
            };
            Store.Initialize();
            RavenDbErrorLog.ConfigureWith(Store);

            AutomappingConfiguration.Bootstrap();

            //RavenProfiler.InitializeFor(Store);

            IndexCreation.CreateIndexes(typeof(HomeController).Assembly, Store);

            ConventionsBootstrapper.Bootstrap();

            ObjectSummarizer.KeyProviders.Add(new RegisteredKeyProvider()
            {
                Provider = new DbKeyFieldAsClassPropertyKeyProvider()
            });
            ObjectSummarizer.DescriptionProviders.Add(new RegisteredDescriptionProvider()
            {
                Provider = new NameOrDescriptionProperty()
            });

            RegisterGlobalFilters(GlobalFilters.Filters);
            RegisterRoutes(RouteTable.Routes);

            AreaRegistration.RegisterAllAreas();
        }
        public void AutomappingConfiguration_ShouldMap_Test()
        {
            var automapConfig = new AutomappingConfiguration();

            Assert.IsTrue(automapConfig.ShouldMap(typeof(Computer)));
        }
 protected virtual FluentConfiguration CreateProductionSchema()
 {
     var cfg = new AutomappingConfiguration();
     var configuration = Fluently.Configure()
         .Diagnostics(d => d.RegisterListener(new CommonLoggingDiagnosticListener()).Enable())
         .Database(this.CreatePersistenceConfigurator())
         .Mappings(
             m => m
                 .AutoMappings.Add(
                 () => AutoMap
                           .AssemblyOf<BaseEntity>(cfg)
                           .UseOverridesFromAssemblyOf<TableNameConvention>()
                           .Conventions
                           .AddFromAssemblyOf<TableNameConvention>()))
         .Cache(
             c => c
                 .ProviderClass<NHibernate.Cache.HashtableCacheProvider>()
                 .UseQueryCache())
         .ExposeConfiguration(
                 config =>
                     {
                         config.SetInterceptor(new AuditInterceptor());
                         var type = this.GetSqlExceptionConverterType();
                         if (type != null)
                         {
                             config.SetProperty(
                                 NHibernate.Cfg.Environment.SqlExceptionConverter, 
                                 type.AssemblyQualifiedName);
                         }
                     });
     return configuration;
 }
        public void Computer_ShouldMap_Test()
        {
            var automapConfig = new AutomappingConfiguration();

            Assert.IsTrue(automapConfig.ShouldMap(typeof(Computer)));
        }