Я импортирую данные в БД, и мне нужно поддерживать 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
?