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(); } }
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); }
//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); }
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(); }
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); }
protected override void OnConfiguring(Microsoft.EntityFrameworkCore.DbContextOptionsBuilder optionsBuilder) { if (!optionsBuilder.IsConfigured) { this.Database.OnConfiguring(optionsBuilder); } // optionsBuilder.UseLazyLoadingProxies() 启用懒加载 }
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;"); }
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(); }
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(); }
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(); }
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(); }
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(); }
protected override void OnConfiguring(Microsoft.EntityFrameworkCore.DbContextOptionsBuilder optionsBuilder) { optionsBuilder.UseSqlServer(@"Data Source = ASUS\ASUS; Initial Catalog = ZNorthwind; Integrated Security = True"); base.OnConfiguring(optionsBuilder); }
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"); }
protected override void OnConfiguring (Microsoft.EntityFrameworkCore.DbContextOptionsBuilder optionsBuilder) { optionsBuilder.UseSqlServer ("Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=BethanysPieShopDataBase;Data Source=."); }
public static void Configure(Microsoft.EntityFrameworkCore.DbContextOptionsBuilder builder, string connectionString) { builder.UseNpgsql(connectionString).UseLazyLoadingProxies(); }
protected override void OnConfiguring(Microsoft.EntityFrameworkCore.DbContextOptionsBuilder optionsBuilder) { }
//public string MySqlConnection { get; private set; } protected override void OnConfiguring(Microsoft.EntityFrameworkCore.DbContextOptionsBuilder options) => options.UseMySQL("xxx", null);
/// <summary> /// 使用 RivenFx 实现的 Oracle RelationalCommandBuilderFactory /// </summary> /// <param name="optionsBuilder"></param> /// <returns></returns> public static DbContextOptionsBuilder UseRivenOracleRelationalCommandBuilderFactory(this DbContextOptionsBuilder optionsBuilder) { return(optionsBuilder .ReplaceService <IRelationalCommandBuilderFactory, RivenOracleRelationalCommandBuilderFactory>() ); }
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); }
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"); }
/// <summary> /// 使用 RivenFx 实现的 Oracle SqlGeneration ToUpper /// </summary> /// <param name="optionsBuilder"></param> /// <returns></returns> public static DbContextOptionsBuilder UseRivenOracleSqlGenerationToUpper(this DbContextOptionsBuilder optionsBuilder) { return(optionsBuilder .ReplaceService <ISqlGenerationHelper, RivenOracleSqlGenerationHelperToUpper>() ); }
protected override void OnConfiguring(Microsoft.EntityFrameworkCore.DbContextOptionsBuilder optionsBuilder) { optionsBuilder.UseSqlServer("server=.;database=BoxFesta;trusted_connection=true;"); }
/// <summary> /// 使用 RivenFx 实现的 Oracle RelationalTypeMappingSource /// </summary> /// <param name="optionsBuilder"></param> /// <returns></returns> public static DbContextOptionsBuilder UseRivenOracleTypeMapping(this DbContextOptionsBuilder optionsBuilder) { return(optionsBuilder .ReplaceService <IRelationalTypeMappingSource, RivenOracleTypeMappingSource>() ); }