Подтвердить что ты не робот

Entity Framework: как обновить модель при изменении db?

Если вы создадите файл edmx из базы данных, а затем измените db, как вы получите модель для получения изменений?

Вы удаляете всю модель и восстанавливаете или можете обнаружить изменения?

Я вижу сообщение, в котором упоминается "Обновить вашу модель" rt. мышь в файле edmx, но я не вижу его.

Обновление вашего edmx, чтобы отразить изменения, внесенные в ваш db (.net linq-to-entity)

Я только начинаю.

4b9b3361

Ответ 1

Вы смотрите на представление дизайнера или кода? Вы можете заставить дизайнера открыться, щелкнув правой кнопкой мыши на вашем файле EDMX и выбрав Open With -> ADO.NET Entity Data Model Designer

Щелкните правой кнопкой мыши по поверхности конструктора дизайнера EDMX и нажмите Update Model From Database...

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


EDIT: Если он не освежает хорошо.

  • Выберите все таблицы и представления в дизайнере EDMX.
  • Удалите их.
  • Затем обновить модель из базы данных

Ответ 2

Я нашел, что дизайнер "обновление из базы данных" может обрабатывать только небольшие изменения. Если вы удалили таблицы, изменили внешние ключи или (gasp), изменили подпись хранимой процедуры с помощью сопоставления функций, вы в конечном итоге попадете в такое перепутанное состояние, вам придется либо удалить все сущности, либо "добавить из базы данных", или просто удалите ресурс edmx и начните.

Ответ 3

Мне просто нужно было обновить модель .edmx. Параметр Model/Run Custom Tool не обновлял поля для меня, но как только я открывал графический конструктор, мне удалось вручную переименовать поля.

Ответ 4

Это может помочь вам, ребята (я применил это к моим проектам)

Здесь три простых шага.

  • Перейдите в обозреватель решений. Найдите файл .edmx (обычно на корневом уровне)
  • Откройте этот .edmx файл, появится окно модели. Щелкните правой кнопкой мыши в любом месте этого окна и выберите " Обновить модель из базы данных". Откроется окно мастера обновлений. Нажмите "Готово", чтобы обновить вашу модель.
  • Сохраните этот .edmx файл.

Что это. Он будет синхронизировать/обновлять базу модели с изменениями в вашей базе данных.

Подробные инструкции. Перейдите по ссылке ниже.

База данных EF Сначала с ASP.NET MVC: изменение базы данных и обновление ее модели.

Ответ 5

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

Но вы можете создать какое-то решение для шаблонов, добавив обновленную/добавленную сущность в новую модель. затем собирайте и перемещайте новый файл cs в рабочий проект. таким образом у вас не будет конфликта, если это новый объект, который вы можете просто добавить связанный файл cs в существующий проект. если это обновление, просто добавьте новое свойство из файла. Если вы просто добавляете несколько столбцов в одну или две из ваших таблиц, вы можете вручную добавить их в свой класс POCO, вам не нужны дополнительные работы, и это красота работы с классами Code-First и POCO.