public void CanCreateConnectionString() { using (var connection = new MySQLServerConnection(CreateOptions(), new Logger <MySQLServerConnection>(new LoggerFactory()))) { Assert.IsType <MySqlConnection>(connection.DbConnection); } }
private static IHistoryRepository CreateHistoryRepository() { var optionsBuilder = new DbContextOptionsBuilder(); optionsBuilder.UseMySQL(MySQLTestStore.rootConnectionString + "database=test;"); var connection = new MySQLServerConnection(optionsBuilder.Options, new Logger <MySQLServerConnection>(new LoggerFactory())); var annotationsProvider = new MySQLAnnotationProvider(); var sqlGenerator = new MySQLSqlGenerationHelper(); var typeMapper = new MySQLTypeMapper(); var serviceCollection = new ServiceCollection(); serviceCollection.AddEntityFrameworkMySQL() .AddDbContext <MyTestContext>(); var serviceProvider = serviceCollection.BuildServiceProvider(); var context = serviceProvider.GetRequiredService <MyTestContext>(); var creator = context.GetService <IDatabaseCreator>(); var cmdBuilder = context.GetService <IRawSqlCommandBuilder>(); return(new MySQLHistoryRepository( creator, cmdBuilder, connection, new DbContextOptions <DbContext>( new Dictionary <Type, IDbContextOptionsExtension> { { typeof(MySQLOptionsExtension), new MySQLOptionsExtension() } }), new MigrationsModelDiffer( new MySQLTypeMapper(), annotationsProvider, new MySQLMigrationsAnnotationProvider()), new MySQLMigrationsSqlGenerator( new RelationalCommandBuilderFactory( new FakeSensitiveDataLogger <RelationalCommandBuilderFactory>(), new DiagnosticListener("FakeListener"), typeMapper), new MySQLSqlGenerationHelper(), typeMapper, annotationsProvider), annotationsProvider, sqlGenerator)); }
public void CanCreateMainConnection() { using (var connection = new MySQLServerConnection(CreateOptions(), new Logger <MySQLServerConnection>(new LoggerFactory()))) { using (var master = connection.CreateSystemConnection()) { var csb = new MySqlConnectionStringBuilder(master.ConnectionString); var csb1 = new MySqlConnectionStringBuilder(MySQLTestStore.baseConnectionString + "database=mysql"); Assert.True(csb.Database == csb1.Database); Assert.True(csb.Port == csb1.Port); Assert.True(csb.Server == csb1.Server); Assert.True(csb.UserID == csb1.UserID); } } }
public MySQLHistoryRepository( IDatabaseCreator databaseCreator, IRawSqlCommandBuilder sqlCommandBuilder, MySQLServerConnection connection, IDbContextOptions options, IMigrationsModelDiffer modelDiffer, MySQLMigrationsSqlGenerator sqlGenerator, IRelationalAnnotationProvider annotations, ISqlGenerationHelper sql) : base( databaseCreator, sqlCommandBuilder, connection, options, modelDiffer, sqlGenerator, annotations, sql) { }
private static IHistoryRepository CreateHistoryRepository() { var optionsBuilder = new DbContextOptionsBuilder(); optionsBuilder.UseMySQL(MySQLTestStore.rootConnectionString + "database=test;"); var connection = new MySQLServerConnection(optionsBuilder.Options, new Logger <MySQLServerConnection>(new LoggerFactory())); var typeMapper = new MySQLTypeMapper(); var serviceCollection = new ServiceCollection(); serviceCollection.AddEntityFrameworkMySQL() .AddDbContext <MyTestContext>(); var serviceProvider = serviceCollection.BuildServiceProvider(); var context = serviceProvider.GetRequiredService <MyTestContext>(); var creator = context.GetService <IRelationalDatabaseCreator>(); var cmdBuilder = context.GetService <IRawSqlCommandBuilder>(); var options = new DbContextOptions <DbContext>( new Dictionary <Type, IDbContextOptionsExtension> { { typeof(MySQLOptionsExtension), new MySQLOptionsExtension() } }); var modelDiffer = new MigrationsModelDiffer( new MySQLTypeMapper(), new MySQLMigrationsAnnotationProvider( new MigrationsAnnotationProviderDependencies())); var logger = new DiagnosticsLogger <DbLoggerCategory.Database.Command>( new LoggerFactory(), new LoggingOptions(), new DiagnosticListener("Fake")); var commandBuilderFactory = new RelationalCommandBuilderFactory( logger, typeMapper); var sqlGeneratorHelper = new MySQLSqlGenerationHelper(new RelationalSqlGenerationHelperDependencies()); var migrationsSqlGeneratorDependencies = new MigrationsSqlGeneratorDependencies( commandBuilderFactory, sqlGeneratorHelper, typeMapper); var migrationsSqlGeneratior = new MySQLMigrationsSqlGenerator(migrationsSqlGeneratorDependencies); HistoryRepositoryDependencies dependencies = new HistoryRepositoryDependencies( creator, cmdBuilder, connection, options, modelDiffer, migrationsSqlGeneratior, sqlGeneratorHelper); return(new MySQLHistoryRepository(dependencies)); }