コード例 #1
0
        public override InMemoryTestStore CreateTestStore()
        {
            var store = new InMemoryF1TestStore(_serviceProvider);

            using (var context = CreateContext(store))
            {
                ConcurrencyModelInitializer.Seed(context);
            }

            return(store);
        }
コード例 #2
0
        public override SqlServerTestStore CreateTestStore()
        {
            return(SqlServerTestStore.GetOrCreateShared(DatabaseName, () =>
            {
                var optionsBuilder = new DbContextOptionsBuilder()
                                     .UseSqlServer(_connectionString, b => b.ApplyConfiguration().CommandTimeout(300))
                                     .UseInternalServiceProvider(_serviceProvider);

                using (var context = new F1Context(optionsBuilder.Options))
                {
                    context.Database.EnsureCreated();
                    ConcurrencyModelInitializer.Seed(context);
                }
            }));
        }
コード例 #3
0
        public override SqliteTestStore CreateTestStore()
        {
            return(SqliteTestStore.GetOrCreateShared(DatabaseName, useTransaction: false, sharedCache: false, initializeDatabase: () =>
            {
                var optionsBuilder = new DbContextOptionsBuilder()
                                     .UseSqlite(_connectionString)
                                     .UseInternalServiceProvider(_serviceProvider);

                using (var context = new F1Context(optionsBuilder.Options))
                {
                    context.Database.EnsureClean();
                    ConcurrencyModelInitializer.Seed(context);
                }
            }));
        }
コード例 #4
0
        public override SqlServerTestStore CreateTestStore()
        {
            return(SqlServerTestStore.GetOrCreateShared(DatabaseName, () =>
            {
                var optionsBuilder = new DbContextOptionsBuilder()
                                     .UseSqlServer(_connectionString)
                                     .UseInternalServiceProvider(_serviceProvider);

                using (var context = new F1Context(optionsBuilder.Options))
                {
                    context.Database.EnsureClean();
                    ConcurrencyModelInitializer.Seed(context);

                    TestSqlLoggerFactory.Reset();
                }
            }));
        }
コード例 #5
0
        public override SqlServerTestStore CreateTestStore()
        {
            return(SqlServerTestStore.GetOrCreateShared(DatabaseName, () =>
            {
                var optionsBuilder = new DbContextOptionsBuilder();
                optionsBuilder.UseSqlServer(_connectionString);

                using (var context = new F1Context(_serviceProvider, optionsBuilder.Options))
                {
                    // TODO: Delete DB if model changed
                    context.Database.EnsureDeleted();
                    if (context.Database.EnsureCreated())
                    {
                        ConcurrencyModelInitializer.Seed(context);
                    }

                    TestSqlLoggerFactory.SqlStatements.Clear();
                }
            }));
        }
コード例 #6
0
        public override NpgsqlTestStore CreateTestStore()
        {
            return(NpgsqlTestStore.GetOrCreateShared(DatabaseName, () =>
            {
                var optionsBuilder = new DbContextOptionsBuilder()
                                     .UseNpgsql(_connectionString)
                                     .UseInternalServiceProvider(_serviceProvider);

                using (var context = new F1Context(optionsBuilder.Options))
                {
                    // TODO: Delete DB if model changed
                    context.Database.EnsureDeleted();
                    if (context.Database.EnsureCreated())
                    {
                        ConcurrencyModelInitializer.Seed(context);
                    }

                    TestSqlLoggerFactory.Reset();
                }
            }));
        }