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" />
3 ответов:
Это нормальное поведение. ;- )
Ваша концептуальная модель не изменится, если вы просто измените что-то на стороне БД, даже если вы выполните мастер "обновить модель из базы данных". Пожалуйста, взгляните на это , поэтому ответьте , где я объясняю, как строится EDMX и как он должен развиваться.
Перечень
- Проверьте окно
Outputна наличие ошибок, возникших при выполнении командыUpdate model from database- Проверьте строку подключения к базе данных .окно свойств edmx
- любой пользовательский шаблон генерации кода, который вызывает это?
- сделайте резервную копию своей .edmx, затем попробуйте удалить измененную сущность из .edmx и повторно добавить его обратно
Я знаю, что это старый вопрос, но поскольку данный ответ не сработал в моем случае, я подумал, что просто оставлю свое решение здесь для других с подобной проблемой.
Предполагая, что вы работаете с SQL Server Management Studio:
- щелкните правой кнопкой мыши "диаграммы баз данных "и выберите"Новая диаграмма баз данных".
- Включите все таблицы (за исключением "__MigrationHistory", если есть) и нажмите "Добавить".
- попробуйте обновить EDMX еще раз.
Для меня это было решение, после нескольких месяцев, когда я использовал обходные пути для проекта, где edmx был решающим, но отказался от обновления обычным способом больше. Новый сотрудник упомянул это как возможное исправление. Часы, которые я мог бы сэкономить, если бы знал об этом раньше...
Comments