Я опишу решение с проектом, над которым я сейчас работаю ( Sppd.TeamTuner ), который поддерживает несколько поставщиков баз данных.
Существует проект * .DataAccess.EF.csproj, регистрирующий необходимые службы и настраивающий DbContext. Важно понимать, что этот проект НЕ регистрирует используемый экземпляр базы данных, он просто указывает, как будут храниться объекты. Интересные для вас занятия - это частичные TeamTunerContext.cs
классы здесь . Я добавил этот абзац, так как в вашем примере он кажется связанным с MongoDb, в этом не должно быть необходимости.
То, что вы ищете, рассказывает, какую БД использовать, делается в одном из выделенных проектов провайдера БД (MsSql, Sqlite, InMemory). Поскольку вы хотите использовать SQL, эта строка актуальна:
services.AddDbContext<TeamTunerContextMsSql>(options => options.UseSqlServer(databaseConfig.ConnectionString))
Для этого используется ссылка на пакет nuget Microsoft.EntityFrameworkCore.SqlServer , содержащий метод расширения UseSqlServer
. (Если вы ссылаетесь на ядро asp.net в вашем проекте, я думаю, что это уже включено).