Как переключаться между sqlserver и postgresql, используя сущностный каркас по параметрам - PullRequest
0 голосов
/ 24 января 2019

Я разрабатываю небольшой проект, и требования должны позволять пользователю переключать базу данных между sqlserver и postgresql или более.

Я думаю, мне нужен параметр для переключения базы данных в файле конфигурации json:

"DatabaseType": "MsSQL"

Мой вопрос заключается в том, как реализовать это с помощью ядра платформы сущностей?

Что я могу сделать с DbContext и переключить их?

Извините, если мой английский не очень хороший.

1 Ответ

0 голосов
/ 25 января 2019

Для переключения базы данных с тем же DbContext вам необходимо убедиться, что ваша база данных отображает DbContext Structor.

Для достижения этой цели вы можете попытаться определить параметр как

{
    "DatabaseType": "MsSQL1",

    "ConnectionStrings": {
        "DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=aspnet-TestIdentity2_2-C9C6DF1A-1A9A-497A-871E-618806FC959F;Trusted_Connection=True;MultipleActiveResultSets=true",
        "MySqlConnection": "Server=(localdb)\\mssqllocaldb;Database=aspnet-MySql-2C4FD13B-62DA-4B5D-8C8C-8F9C42CD3A67;Trusted_Connection=True;MultipleActiveResultSets=true"

    },
}

Настроить в Startup.cs

services.AddDbContext<ApplicationDbContext>(options =>
{
    var dbType = Configuration["DatabaseType"];
    if (dbType == "MsSQL")
    {
       //change this to your postgresql config
        options.UseSqlServer(
            Configuration.GetConnectionString("MySqlConnection"));
    }
    else
    {
        options.UseSqlServer(
            Configuration.GetConnectionString("DefaultConnection"));
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...