Entity Framework: как обновить модель при изменении db?
Если вы создадите файл edmx из базы данных, а затем измените db, как вы получите модель для получения изменений?
Вы удаляете всю модель и восстанавливаете или можете обнаружить изменения?
Я вижу сообщение, в котором упоминается "Обновить вашу модель" rt. мышь в файле edmx, но я не вижу его.
Обновление вашего edmx, чтобы отразить изменения, внесенные в ваш db (.net linq-to-entity)
Я только начинаю.
Ответы
Ответ 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.