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