public static void Initialize(IConfiguration configuration, IHostingEnvironment env, IServiceProvider svp)

        {
            var optionsBuilder = new Microsoft.EntityFrameworkCore.DbContextOptionsBuilder();

            if (env.IsDevelopment())
            {
                optionsBuilder.UseSqlServer(configuration.GetConnectionString("DefaultConnection"));
            }

            else if (env.IsStaging())
            {
                optionsBuilder.UseSqlServer(configuration.GetConnectionString("DefaultConnection"));
            }

            else if (env.IsProduction())
            {
                optionsBuilder.UseSqlServer(configuration.GetConnectionString("DefaultConnection"));
            }

            var context = new ApplicationContext(optionsBuilder.Options);

            if (context.Database.EnsureCreated())

            {
                IUserMap service = svp.GetService(typeof(IUserMap)) as IUserMap;

                new DBInitializeConfig(service).DataTest();
            }
        }
Beispiel #2
0
 protected override void OnConfiguring(Microsoft.EntityFrameworkCore.DbContextOptionsBuilder optionsBuilder)
 {
     if (!optionsBuilder.IsConfigured)
     {
         optionsBuilder.UseSqlServer(Conexao, p => p.MaxBatchSize(10000));
     }
 }
        private Microsoft.EntityFrameworkCore.DbContextOptions GetDbContextOptions()
        {
            var b = new Microsoft.EntityFrameworkCore.DbContextOptionsBuilder();

            b.UseMySql("server=35.197.80.226;Database=Converter;Uid=root;Pwd=P@ssw0rd");
            return(b.Options);
        }
Beispiel #4
0
        //TODO: Use a DI container
        private void CreateContainer()
        {
            var options = new Microsoft.EntityFrameworkCore.DbContextOptionsBuilder()
                          .UseSqlServer(ConfigurationManager.ConnectionStrings["GameDatabase"].ConnectionString);

            _gameRepository = new SqlServer.SqlGameRepository(() => options.Options);
        }
Beispiel #5
0
        public async void Dispose_Should_Revert_Changes()
        {
            // Preparation
            var sqliteConnection = new SqliteConnection("DataSource=:memory:");

            sqliteConnection.Open();
            var options   = new Microsoft.EntityFrameworkCore.DbContextOptionsBuilder().UseSqlite(sqliteConnection).Options;
            var dbContext = new TestDbContext(options);

            dbContext.Database.EnsureDeleted();
            dbContext.Database.EnsureCreated();
            dbContext.Database.Migrate();
            await dbContext.BeginTransactionAsync();

            // EXECUTION
            dbContext.Samples.Add(new SampleEntity()
            {
                Name = "TEST", UniqueId = Guid.NewGuid()
            });
            dbContext.Dispose();

            // ASSERTION
            Assert.Throws <System.ObjectDisposedException>(() => dbContext.Database.ExecuteSqlRaw("SELECT 1"));

            // CLEANUP
            sqliteConnection.Close();
        }
Beispiel #6
0
        public static void AddIdentityServerOperationalDatabase(this Microsoft.EntityFrameworkCore.DbContextOptionsBuilder builder, IConfiguration configuration)
        {
            string connectionString   = configuration.GetConnectionString("IdentityServerOperational");
            string providerType       = configuration["Database:ProviderType:IdentityServer:Operational"] ?? "sqlite";
            string migrationsAssembly = typeof(Startup).GetTypeInfo().Assembly.GetName().Name;

            switch (providerType.ToLower())
            {
            case "mysql":
            case "mariadb":
                builder.UseMySql(connectionString, ServerVersion.AutoDetect(connectionString), sql => sql.MigrationsAssembly(migrationsAssembly));
                break;

            case "sqlite":
            case "sqlite3":
                builder.UseSqlite(connectionString, sql => sql.MigrationsAssembly(migrationsAssembly));
                break;

            case "sqlserver":
            case "mssql":
                builder.UseSqlServer(connectionString, sql => sql.MigrationsAssembly(migrationsAssembly));
                break;

            default:
                throw new Exception($"Unknow database provider type: {providerType} - IdentityServer Operational");
            }
        }
        /// <summary>
        /// 重写的OnConfiguring方法
        /// </summary>
        /// <param name="optionsBuilder"></param>
        protected override void OnConfiguring(Microsoft.EntityFrameworkCore.DbContextOptionsBuilder optionsBuilder)
        {
            base.OnConfiguring(optionsBuilder);

            MySqlConfig useConfig = ConfigPacker.GetConfigPacker().GetConfig <MySqlConfig>();

            optionsBuilder.UseMySql(useConfig.Connectstr);
        }
Beispiel #8
0
 protected override void OnConfiguring(Microsoft.EntityFrameworkCore.DbContextOptionsBuilder optionsBuilder)
 {
     if (!optionsBuilder.IsConfigured)
     {
         this.Database.OnConfiguring(optionsBuilder);
     }
     // optionsBuilder.UseLazyLoadingProxies()  启用懒加载
 }
Beispiel #9
0
        protected override void OnConfiguring(Microsoft.EntityFrameworkCore.DbContextOptionsBuilder optionsBuilder)
        {
            var extConfiguration = optionsBuilder.Options.Extensions.OfType <SqlServerOptionsExtension>().FirstOrDefault();

            if (extConfiguration != null)
            {
                extConfiguration.Connection.StateChange += Connection_StateChange;
            }

            //Connection string for migrations
            //optionsBuilder.UseSqlServer("Server=LAPTOP-1OVSP5MD\\SQLEXPRESS;Database=LibraryGBH_R1;Persist Security Info=False;User ID=adminUser;Password=DB_PASS01@;Trusted_Connection=False;");
        }
Beispiel #10
0
        public async void CommitAsync_Should_SaveChanges()
        {
            // Preparation
            var sqliteConnection = new SqliteConnection("DataSource=:memory:");

            sqliteConnection.Open();
            var options   = new Microsoft.EntityFrameworkCore.DbContextOptionsBuilder().UseSqlite(sqliteConnection).Options;
            var dbContext = new TestDbContext(options);

            dbContext.Database.EnsureDeleted();
            dbContext.Database.EnsureCreated();
            dbContext.Database.Migrate();
            await dbContext.BeginTransactionAsync();


            // EXECUTION
            dbContext.Samples.Add(new SampleEntity()
            {
                UniqueId = Guid.Empty, Name = "Test"
            });
            await dbContext.CommitAsync();

            // ASSERTION
            var cmd = sqliteConnection.CreateCommand();

            cmd.CommandText = "SELECT * FROM sample";
            var DataAssetionHitted = false;

            using (var reader = cmd.ExecuteReader())
            {
                while (reader.Read())
                {
                    if (DataAssetionHitted)
                    {
                        Assert.False(DataAssetionHitted, "More that one record exists");
                    }


                    Assert.Equal("Test", (string)reader["Name"]);
                    DataAssetionHitted = true;
                }
            }
            if (!DataAssetionHitted)
            {
                Assert.True(DataAssetionHitted, "No record found in database!");
            }

            Assert.Null(dbContext.Database.CurrentTransaction);

            // Cleaning
            sqliteConnection.Close();
        }
Beispiel #11
0
        public async void RollbackAsync_Should_Throws_If_No_Transaction_Initiated()
        {
            // Preparation
            var sqliteConnection = new SqliteConnection("DataSource=:memory:");

            sqliteConnection.Open();
            var options   = new Microsoft.EntityFrameworkCore.DbContextOptionsBuilder().UseSqlite(sqliteConnection).Options;
            var dbContext = new TestDbContext(options);

            dbContext.Database.EnsureDeleted();
            dbContext.Database.EnsureCreated();
            dbContext.Database.Migrate();


            // EXECUTION AND ASSERTION
            await Assert.ThrowsAsync <InvalidOperationException>(() => dbContext.RollbackAsync());

            // Cleaning
            sqliteConnection.Close();
        }
Beispiel #12
0
        public async void BeginTransactionAsync_Should_Throw_If_Already_Transaction_Has_Initiated()
        {
            // Preparation
            var sqliteConnection = new SqliteConnection("DataSource=:memory:");

            sqliteConnection.Open();

            // EXECUTION
            var options   = new Microsoft.EntityFrameworkCore.DbContextOptionsBuilder().UseSqlite(sqliteConnection).Options;
            var dbContext = new TestDbContext(options);
            await dbContext.BeginTransactionAsync();

            // ASSERTION
            await Assert.ThrowsAsync <InvalidOperationException>(() => dbContext.BeginTransactionAsync());

            // Cleaning
            await dbContext.RollbackAsync();

            sqliteConnection.Close();
        }
Beispiel #13
0
        public async void BeginTransactionAsync_Should_Open_A_Transaction()
        {
            // Preparation
            var sqliteConnection = new SqliteConnection("DataSource=:memory:");

            sqliteConnection.Open();

            // EXECUTION
            var options   = new Microsoft.EntityFrameworkCore.DbContextOptionsBuilder().UseSqlite(sqliteConnection).Options;
            var dbContext = new TestDbContext(options);
            await dbContext.BeginTransactionAsync();

            // ASSERTION
            Assert.NotNull(dbContext.Database.CurrentTransaction);
            Assert.NotNull(dbContext.Transaction);

            // Cleaning
            await dbContext.RollbackAsync();

            sqliteConnection.Close();
        }
Beispiel #14
0
        public async void RollbackAsync_Should_Revert_Changes()
        {
            // Preparation
            var sqliteConnection = new SqliteConnection("DataSource=:memory:");

            sqliteConnection.Open();
            var options   = new Microsoft.EntityFrameworkCore.DbContextOptionsBuilder().UseSqlite(sqliteConnection).Options;
            var dbContext = new TestDbContext(options);

            dbContext.Database.EnsureDeleted();
            dbContext.Database.EnsureCreated();
            dbContext.Database.Migrate();
            await dbContext.BeginTransactionAsync();



            // EXECUTION
            dbContext.Samples.Add(new SampleEntity()
            {
                UniqueId = Guid.Empty, Name = "Test"
            });
            await dbContext.RollbackAsync();

            // ASSERTION
            var cmd = sqliteConnection.CreateCommand();

            cmd.CommandText = "SELECT COUNT(*) FROM sample";
            var count = (long)cmd.ExecuteScalar();


            Assert.Null(dbContext.Database.CurrentTransaction);
            Assert.Equal((long)0, count);

            // Cleaning
            sqliteConnection.Close();
        }
Beispiel #15
0
 protected override void OnConfiguring(Microsoft.EntityFrameworkCore.DbContextOptionsBuilder optionsBuilder)
 {
     optionsBuilder.UseSqlServer(@"Data Source = ASUS\ASUS; Initial Catalog = ZNorthwind; Integrated Security = True");
     base.OnConfiguring(optionsBuilder);
 }
Beispiel #16
0
 public static DbContextOptionsBuilder UseCustomSqlServerQuerySqlGenerator(this DbContextOptionsBuilder optionsBuilder)
 {
     optionsBuilder.ReplaceService <IQuerySqlGeneratorFactory, CustomSqlServerQuerySqlGeneratorFactory>();
     return(optionsBuilder);
 }
 protected override void OnConfiguring(Microsoft.EntityFrameworkCore.DbContextOptionsBuilder optionsBuilder)
 {
     optionsBuilder.UseSqlServer(@"Server=(localdb)\mssqllocaldb;Database=BogaDb");
 }
Beispiel #18
0
 protected override void OnConfiguring
     (Microsoft.EntityFrameworkCore.DbContextOptionsBuilder optionsBuilder)
 {
     optionsBuilder.UseSqlServer
         ("Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=BethanysPieShopDataBase;Data Source=.");
 }
Beispiel #19
0
 public static void Configure(Microsoft.EntityFrameworkCore.DbContextOptionsBuilder builder, string connectionString)
 {
     builder.UseNpgsql(connectionString).UseLazyLoadingProxies();
 }
 protected override void OnConfiguring(Microsoft.EntityFrameworkCore.DbContextOptionsBuilder optionsBuilder)
 {
 }
Beispiel #21
0
        //public string MySqlConnection { get; private set; }

        protected override void OnConfiguring(Microsoft.EntityFrameworkCore.DbContextOptionsBuilder options)
        => options.UseMySQL("xxx", null);
Beispiel #22
0
 /// <summary>
 /// 使用 RivenFx 实现的 Oracle RelationalCommandBuilderFactory
 /// </summary>
 /// <param name="optionsBuilder"></param>
 /// <returns></returns>
 public static DbContextOptionsBuilder UseRivenOracleRelationalCommandBuilderFactory(this DbContextOptionsBuilder optionsBuilder)
 {
     return(optionsBuilder
            .ReplaceService <IRelationalCommandBuilderFactory, RivenOracleRelationalCommandBuilderFactory>()
            );
 }
Beispiel #23
0
 public LoggingContext(DbContextOptionsBuilder optionsBuilder)
     : base(optionsBuilder.Options)
 {
 }
 protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
     => optionsBuilder
         .UseSqlServer(SqlServerNorthwindTestStoreFactory.NorthwindConnectionString, b => b.ApplyConfiguration())
         .UseInternalServiceProvider(_serviceProvider);
 protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
     => optionsBuilder
         .UseInMemoryDatabase(nameof(BlogContext))
         .UseInternalServiceProvider(_serviceProvider);
 protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
 {
     optionsBuilder.UseSqlite(@"Data Source=G:\\github\\movingsam\\FreeSqlBuilder\\samples\\AngularGenerator\\fsbuilder.db");
     optionsBuilder.UseLoggerFactory(LoggerFactory);
 }
Beispiel #27
0
 protected override void OnConfiguring(Microsoft.EntityFrameworkCore.DbContextOptionsBuilder optionsBuilder)
 {
     base.OnConfiguring(optionsBuilder);
     optionsBuilder.UseSqlServer(@"Password=sql@Master;Persist Security Info=True;User ID=sa;Initial Catalog=HeroApplication;Data Source=DESKTOP-3FTN6K6\SQLEXPRESS");
 }
Beispiel #28
0
 /// <summary>
 /// 使用 RivenFx 实现的 Oracle SqlGeneration ToUpper
 /// </summary>
 /// <param name="optionsBuilder"></param>
 /// <returns></returns>
 public static DbContextOptionsBuilder UseRivenOracleSqlGenerationToUpper(this DbContextOptionsBuilder optionsBuilder)
 {
     return(optionsBuilder
            .ReplaceService <ISqlGenerationHelper, RivenOracleSqlGenerationHelperToUpper>()
            );
 }
Beispiel #29
0
 protected override void OnConfiguring(Microsoft.EntityFrameworkCore.DbContextOptionsBuilder optionsBuilder)
 {
     optionsBuilder.UseSqlServer("server=.;database=BoxFesta;trusted_connection=true;");
 }
Beispiel #30
0
 /// <summary>
 /// 使用 RivenFx 实现的 Oracle RelationalTypeMappingSource
 /// </summary>
 /// <param name="optionsBuilder"></param>
 /// <returns></returns>
 public static DbContextOptionsBuilder UseRivenOracleTypeMapping(this DbContextOptionsBuilder optionsBuilder)
 {
     return(optionsBuilder
            .ReplaceService <IRelationalTypeMappingSource, RivenOracleTypeMappingSource>()
            );
 }