Entity Framework: восстановление измененных таблиц (ключевые изменения) - PullRequest
3 голосов
/ 27 апреля 2009

У меня довольно большая БД, подключенная к моей Entity Framework. У меня есть один конкретный набор таблиц, где общий ключ (fk) был удален из проекта. Когда я «обновляю модель из базы данных», я получаю серию ошибок об этом теперь отсутствующем ключе.

Почему процесс обновления не может точно определить, что этот ключ был удален? Кроме того, если я вручную удаляю свойство из модели, я просто получаю другие ошибки. Я также попытался просто удалить таблицу и заново добавить ее, но теперь эта таблица не отображается в разделе «Добавить» мастера обновления.

Итак, если не считать удаления целиком и начать заново, есть ли способ изящно восстановиться? Выпустила ли команда EF более новые версии этого мастера, в которых уже исправлены некоторые из этих проблем?

1 Ответ

5 голосов
/ 27 апреля 2009

Entity Framework время от времени запутывается. Что вам нужно сделать, это удалить таблицу сущностей из модели, затем переименовать таблицу в SQL Server в TableName_Temp, обновить модель, теперь таблица сущностей должна быть в порядке, поэтому удалите таблицу сущностей снова, переименуйте ее обратно в исходное имя и обновить модель еще раз. На этот раз все должно быть хорошо.

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

Надеюсь, это поможет!

...