База данных базового обновления Entity Framework - первый подход к коду без миграции - PullRequest
0 голосов
/ 20 октября 2019

Я искал способ, он может или не может быть поддержан, я думаю, я ищу конкретный ответ.

То, что я искал, это решение дляследующие требования:

  • Код EFCore Первый подход
  • С существующей таблицей базы данных со значительным объемом данных, уже имеющейся на месте
  • Добавить пару столбцов к указанной таблице базы данныхобновив мою модель
  • Нет миграции через консоль PM, просто используйте Context с Fluent Api при запуске приложения
  • Нет восстановления базы данных
  • Подход может быть следующим: Проверить файл конфигурации илив некотором роде, сравните его с версией в таблице версий в базе данных, чтобы запустить обновление
  • Шаблоны проектов: Web Api 2, Uwp

Если это поддерживается, рекомендуется ли это? Если нет, то почему? Каковы недостатки?

В моем опыте работы с проектами, в которых я участвовал, сначала подход к базе данных или сначала код, но с восстановлением базы данных.

Шаги, которые я имею в виду: - Обновлениемодель - Создание объектов миграции - Обновление файла конфигурации для версии базы данных - При запуске приложения проверьте версию конфигурации по таблице версий - Если версии не соответствуют вызову Update () или Migrate () или обоим, с объектами / типами миграции в качестве параметров

1 Ответ

2 голосов
/ 20 октября 2019

Это вполне основано на мнении, но вот мои комментарии.

Код EFCore Первый подход

Вам известны ограничения EF Core? Это провайдер linq не может делать все, что делает EF6. различия между EF и EF Core ?

С существующей таблицей базы данных, в которой уже имеется значительный объем данных

Все в порядке.

Добавить пару столбцов к упомянутомутаблица базы данных путем обновления моей модели

Это кажется стандартной практикой для приложений EF (Core).

Никаких миграций через Консоль PM, только использование Context с Fluent Api при запуске приложения

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

Нет воссоздания базы данных

Я не уверен, что это значит, но да, EF (Core) может работать без воссоздания БД.

Подход может быть следующим: проверить файл конфигурации или какой-либо другой, сравнить его с версией в таблице версий в базе данных, чтобы запустить обновление

Шаблоны проекта: Web Api 2, Uwp

Часть Uwp кажется неактуальной, так как я предполагаю, что весь доступ к БД будет осуществляться через приложение API.

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