Сконфигурируйте провайдера БД, используя строку настроек в EF6 - PullRequest
0 голосов
/ 07 марта 2020

Я импортирую данные в БД, и мне нужно поддерживать SQL Сервер, MySQL и CosmosDB. Используя EF6 в C# Do tNet Core 3.1, я хотел бы использовать текстовую строку подключения для подключения к нужной БД.

Например, для MySql Я использую:

            const string connectionString = @"Server=server-2;Database=TelemetryDatabase;User=root;Password=Password1";
            DbContextOptionsBuilder optionsBuilder = new DbContextOptionsBuilder<TelemetryDbContext>();
            optionsBuilder
                .UseMySql(connectionString, providerOptions => providerOptions.CommandTimeout(60))
                .UseQueryTrackingBehavior(QueryTrackingBehavior.NoTracking);

            using TelemetryDbContext dbContext = new TelemetryDbContext(optionsBuilder.Options);
            dbContext.Database.EnsureCreated();

            //EntityFrameworkManager.ContextFactory = dbContext => new TelemetryDbContext(optionsBuilder.Options);
            dbContext.BulkInsert(data);

Например, для SQLServer я использую:

            const string connectionString = @"Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=TelemetryDatabase;Integrated Security=True";
            DbContextOptionsBuilder optionsBuilder = new DbContextOptionsBuilder<TelemetryDbContext>();
            optionsBuilder
                .UseSqlServer(connectionString, providerOptions => providerOptions.CommandTimeout(60))
                .UseQueryTrackingBehavior(QueryTrackingBehavior.NoTracking);

            using TelemetryDbContext dbContext = new TelemetryDbContext(optionsBuilder.Options);
            dbContext.Database.EnsureCreated();

            //EntityFrameworkManager.ContextFactory = dbContext => new TelemetryDbContext(optionsBuilder.Options);
            dbContext.BulkInsert(data);

Как использовать строку текстового соединения, чтобы получить эквиваленты .UseSqlServer и .UseMySql?

...