예제 #1
0
        private static BloggingContext CreateContext(SqlCeTestStore testStore)
        {
            var serviceProvider =
                new ServiceCollection()
                .AddEntityFrameworkSqlCe()
                .BuildServiceProvider();

            var optionsBuilder = new DbContextOptionsBuilder();

            optionsBuilder
            .UseSqlCe(testStore.ConnectionString)
            .UseInternalServiceProvider(serviceProvider);

            return(new BloggingContext(serviceProvider, optionsBuilder.Options));
        }
예제 #2
0
        private static async Task CreateTables_creates_schema_in_existing_database_test(bool async)
        {
            using (var testDatabase = SqlCeTestStore.CreateScratch(createDatabase: true))
            {
                var serviceCollection = new ServiceCollection();
                serviceCollection
                .AddEntityFrameworkSqlCe();

                var serviceProvider = serviceCollection.BuildServiceProvider();

                var optionsBuilder = new DbContextOptionsBuilder();
                optionsBuilder.UseSqlCe(testDatabase.ConnectionString);

                using (var context = new BloggingContext(optionsBuilder.Options))
                {
                    var creator = (RelationalDatabaseCreator)context.GetService <IDatabaseCreator>();

                    if (async)
                    {
                        await creator.CreateTablesAsync();
                    }
                    else
                    {
                        creator.CreateTables();
                    }

                    if (testDatabase.ConnectionState != ConnectionState.Open)
                    {
                        await testDatabase.OpenConnectionAsync();
                    }

                    var tables = testDatabase.Query <string>("SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES");
                    Assert.Equal(1, tables.Count());
                    Assert.Equal("Blogs", tables.Single());

                    var columns = testDatabase.Query <string>("SELECT TABLE_NAME + '.' + COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS");
                    Assert.Equal(2, columns.Count());
                    Assert.True(columns.Any(c => c == "Blogs.Id"));
                    Assert.True(columns.Any(c => c == "Blogs.Name"));
                }
            }
        }
예제 #3
0
 protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
 {
     optionsBuilder
     .UseSqlCe(SqlCeTestStore.CreateConnectionString(_databaseName))
     .UseInternalServiceProvider(_serviceProvider);
 }
예제 #4
0
 protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
 {
     optionsBuilder.UseSqlCe(@"Data Source=Issue305Database.sdf");
 }
예제 #5
0
 protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
 => optionsBuilder.UseSqlCe("Database=Maltesers");
예제 #6
0
 protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
 {
     optionsBuilder.UseSqlCe(@"Data Source=BloggingNoIdentity.sdf");
 }
 protected override void OnConfiguring(DbContextOptionsBuilder dbContextOptionsBuilder)
 {
     dbContextOptionsBuilder.UseSqlCe(@"Data Source=Issue398.sdf");
 }
 protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
 {
     optionsBuilder
     .UseSqlCe(_testStore.ConnectionString)
     .UseInternalServiceProvider(CreateServiceProvider());
 }
예제 #9
0
 protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) => optionsBuilder.UseSqlCe(
     new SqlCeConnectionStringBuilder
 {
     DataSource = "BloggingIdentity.sdf"
 }
     .ConnectionString);
 protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
 => optionsBuilder.UseSqlCe(_connectionString, b => b.ApplyConfiguration());
 protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
 => optionsBuilder.UseSqlCe(SqlCeTestStore.NorthwindConnectionString, b => b.ApplyConfiguration());