Пример #1
0
        private IObjectContainer NewInstance()
        {
            var configuration = Db4oEmbedded.NewConfiguration();

            configuration.File.Storage = storage;
            var container = Db4oEmbedded.OpenFile(configuration, "!No:File");

            AutoIncrementSupport.Install(container);
            return(container);
        }
Пример #2
0
        public static ISessionFactory InitializeSessionFactory(IDependencyResolver dependencyResolver)
        {
            String databaseName = null;

            foreach (ConnectionStringSettings connectionString in ConfigurationManager.ConnectionStrings)
            {
                if (!String.IsNullOrEmpty(connectionString.Name) &&
                    connectionString.Name.EndsWith("db4o", StringComparison.InvariantCultureIgnoreCase))
                {
                    databaseName = connectionString.ConnectionString;
                }
            }

            if (databaseName == null)
            {
                throw new Exception("Could not find a connectionstring that ends with 'db4o'.");
            }

            databaseName = databaseName.Replace(
                "|DataDirectory|",
                AppDomain.CurrentDomain.GetData("DataDirectory") + "\\");

            IEmbeddedConfiguration config = Db4oEmbedded.NewConfiguration();

            config.Common.Add(new TransparentActivationSupport());
            config.Common.Add(new TransparentPersistenceSupport());
            config.Common.DetectSchemaChanges     = true;
            config.Common.ExceptionsOnNotStorable = true;
            config.Common.OptimizeNativeQueries   = true;
            config.Common.UpdateDepth             = Int32.MaxValue;

            dependencyResolver.RegisterInstance <IEmbeddedConfiguration>(config);

            var configExtenders = dependencyResolver.ResolveAll <IConfigurationExtender>() ?? new IConfigurationExtender[0];

            foreach (var extender in configExtenders)
            {
                extender.Configure(config);
            }

            var db = Db4oEmbedded.OpenFile(config, databaseName);

            AutoIncrementSupport.Install(db);
            return(new Db4oSessionFactory(db));
        }
Пример #3
0
        public void Main(string[] args)
        {
            var database = Db4oEmbedded.OpenFile("Example.db4o");

            AutoIncrementSupport.Install(database);
            for (int x = 0; x < 10; x++)
            {
                database.Store(new ExampleModel());
            }
            database.Commit();

            var results = database.Query <ExampleModel>();

            foreach (var m in results)
            {
                Console.Write(m.IdAutoProperty);
            }
        }