Database First Entity Framework Update Model не работает: в чем может быть причина?



У меня есть существующее приложение MVC 3, использующее entity framework 4. Модель была сгенерирована с использованием режима Database-First. У меня также есть "автоматическая генерация кода", которая генерирует класс.



Сегодня я сделал простую модификацию своей базы данных. Поле перешло из" int "в"float". Я пошел к себе .edmx, сделал правый клик, обновить модель из базы данных...

Но когда я смотрю на поле, оно совсем не меняется. Я все перепроверяю, и база данных модифицируется, но модель никогда не менять... Значит ли это, что я должен сделать это вручную?

Я помню, что я сделал пару обновлений раньше (например, 2 месяца назад), и это, кажется, работает в то время... Что может быть сломано, что мне нужно проверить?



править



При просмотре файла edmx diff в subversion изменение кажется выполненным, но при просмотре его в "графическом режиме" изменения нет. Кроме того, сгенерированный код не обновляется.



-          <Property Name="PreparationTime" Type="int" Nullable="false" />
+ <Property Name="PreparationTime" Type="float" Nullable="false" />
555   3  

3 ответов:

Это нормальное поведение. ;- )

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

Перечень

  • Проверьте окно Output на наличие ошибок, возникших при выполнении команды Update model from database
  • Проверьте строку подключения к базе данных .окно свойств edmx
  • любой пользовательский шаблон генерации кода, который вызывает это?
  • сделайте резервную копию своей .edmx, затем попробуйте удалить измененную сущность из .edmx и повторно добавить его обратно

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

Предполагая, что вы работаете с SQL Server Management Studio:

  • щелкните правой кнопкой мыши "диаграммы баз данных "и выберите"Новая диаграмма баз данных".
  • Включите все таблицы (за исключением "__MigrationHistory", если есть) и нажмите "Добавить".
  • попробуйте обновить EDMX еще раз.

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

Comments

    Ничего не найдено.