Как сначала подключиться к двум различным базам данных в базовой базе ef - PullRequest
0 голосов
/ 24 февраля 2020

Как создать два разных контекста базы данных для использования двух разных баз данных в ядре EF. Я использую базу данных первым подходом.

В настоящее время использую следующую строку для использования в моем запуске.cs

builderModel.Services.AddDbContext<DB1Context>(options =>
            options.UseSqlServer(configuration.GetConnectionString("DB1Context")));

Спасибо

Ответы [ 2 ]

2 голосов
/ 24 февраля 2020

Звучит довольно прямо (если БД уже настроены и равны в схеме). Попробуйте

builderModel.Services.AddDbContext<DB1Context>(options =>
            options.UseSqlServer(configuration.GetConnectionString("DB1Context")));

builderModel.Services.AddDbContext<DB2Context>(options =>
            options.UseSqlServer(configuration.GetConnectionString("DB2Context")));

И в качестве бонуса вы можете наследовать от уже существующего DbContext (потому что это тот же код).

0 голосов
/ 24 февраля 2020

так что, если я вас правильно понимаю: с помощью "Startup-Line" вы добавляете первый (DB1Context) контекст к "программе", если у вас есть 2 DbContexts, вам, очевидно, нужно 2 из них (то же самое для DB2).

теперь вы можете перенести его, используя nuget-package-console (google, если вы никогда не слышали об этом ^^) и написать: Add-миграция mymigration -context: Db1Context Add-миграция mymigration -context: Db2Context

* Mymigration - это имя файла * .cs (в данном случае: Mymigration.cs), который используется для создания / обновления базы данных, вы также можете дать ему другое имя. он также создает папку с именем «миграция», в которой хранится файл * .cs

. После этого вам необходимо обновить базу данных с комментарием:

update-database

Чем у вас должно быть 2 (или не менее 2 обновленных) новых таблиц в вашей базе данных.

ЕСЛИ добавить миграцию не работает, убедитесь, что вы выбрали правильный проект (где находятся контексты)

Я также должен признать, что я никогда не пытался перенести 2 контекста, но в теории это способ сделать это .... Это мой первый ответ на Stackoverflow, поэтому я надеюсь, что смогу вам помочь: D

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...