Я пытаюсь создать консольное приложение ядра .Net, которое может использовать разные соединения с базой данных.В настоящее время я пишу приложение для использования SQL, и в будущем, если я захочу использовать Oracle или любое другое соединение, я смогу легко добиться этого.Итак, я использую внедрение зависимости для этой цели.
Я изучаю приведенную ниже опцию, используя ServiceCollection
IConfiguration config = new ConfigurationBuilder()
.AddJsonFile("appsettings.json", true, true)
.Build();
var sqlconnectionstring = config.GetConnectionString("SQLConnectionString");
var serviceProvider = new ServiceCollection()
.AddLogging()
.AddSingleton<IChannel, Email>()
.AddTransient<IDBObjectManager>(s => new SQLDBObject(sqlconnectionstring))
Здесь идея в том, что я создал класс SQLDBObject, который будет иметь функции, связанные с SQL.В будущем я создам один для некоторой другой базы данных.
Я вижу много статей об этом с Entity Framework, но сейчас я проверяю, чтобы эта функциональность работала с моим классом соединения SQL.
Я не знаю, правильно ли я использую DI здесь.Может кто-нибудь посоветовать?