Первое обновление кода EntityFramework из базы данных

#entity-framework

#entity-framework

Вопрос:

Я знаю, что это не разработанный метод использования EntityFramework, но мне намного проще разрабатывать базу данных в SQL Management Studio для создания индексов, связывания внешних ключей и т.д… все визуально. Но я действительно хочу использовать автоматические обновления базы данных в будущем при развертывании обновлений для клиентов.

Я разработал исходную базу данных в SQL Management Studio, затем сначала создал код EntityFramework из этой базы данных. Но если я хочу добавить еще одну таблицу до сих пор, я в конечном итоге удаляю все, а затем восстанавливаю базу данных из SQL Management Studio. Это было нормально для первой части разработки моего фреймворка, но теперь все начинает становиться немного сложнее.

Я пытался изучить механизм «сначала код», но некоторые из более сложных элементов меня зацепили, и у меня не так много времени, чтобы выделить на это. Я надеялся, что существует гибридный способ проектирования в SQL Management Studio с последующим использованием функциональности развертывания базы данных, встроенной в EntityFramework.

Ответ №1:

Я работаю над запуском обратного генератора POCO, но у меня возникли некоторые проблемы. В конечном счете, я думаю, что это тот путь, которым я хочу пойти. Но я нашел временное решение проблемы с помощью существующих инструментов, встроенных в VS2019, пока я не заставлю этот инструмент работать.

  1. Я скопировал имя модели, потому что у меня была пользовательская инициализация для строки подключения.

  2. Удалите файл модели

  3. Я щелкнул правой кнопкой мыши папку, в которую помещены файлы codefirst в моем решении, затем добавить-новый элемент

  4. Выберите ADO.NET Модель данных объекта и именованный идентификатор такие же, как на шаге 1

  5. Сначала выберите код из базы данных

  6. Отмените выбор сохранения строки подключения (она не будет перезаписываться, а необходимая уже есть в app.config)

  7. Выберите таблицы для импорта

  8. В моем случае я отменил выбор множественных имен объектов

  9. Готово

  10. Обновите файл master model с помощью пользовательского инициализатора

  11. В консоли диспетчера пакетов введите: add-migration (я предполагаю, что у вас уже настроены миграции)

  12. назовите миграцию

  13. добавление-миграция [имя на шаге 12] (это относится к миграции)

Может показаться, что это много шагов, но на самом деле это не так. И пока, поиграв с ним пару дней, я не сталкиваюсь ни с какими проблемами.