Переход между настройками разработки и развертывания в EntityFramework Core - PullRequest
0 голосов
/ 21 апреля 2020

Вся моя разработка EntityFramework Core выполняется на основе кода, и большую часть времени я работаю в режиме без миграции, где я могу постоянно вносить изменения в схему. В режиме разработки я не использую миграцию и обычно просто использую context.Database.EnsureDeleted(); и context.Database.EnsureCreated(); для перестройки базы данных при каждом выполнении. Я делаю это потому, что не хочу постоянно запускать Add-Migration во время разработки.

На данный момент у меня есть отдельный проект развертывания, в котором у меня включена миграция. Я поменял эти команды с context.Database.Migrate();, а также изменил расположение соединения EntityFramework и несколько других вещей. Основное отличие состоит в том, что когда я нахожусь в режиме разработки, база данных уничтожается и перестраивается, но в режиме развертывания я просто хочу изменить существующий набор данных.

Я никогда не находил простого решения, которое можно переключать между мой режим разработки и режим развертывания, хотя это не намного больше, чем наложение нескольких изменений в коде, добавление новой миграции в код развертывания и выталкивание его. В идеале я хотел бы просто изменить состояние EntityFramework Core, чтобы оно находилось либо в режиме миграции, либо не в режиме миграции.

Кто-нибудь нашел хорошее решение для этого либо в самом EF, либо, возможно, с помощью git ответвления?

...