Kats2512 Ответов: 3

Необходимо указать сопоставление для всех ключевых свойств


всем привет,

Я столкнулся с новой проблемой, я уже довольно давно использую entity framework в одном из своих проектов. Сегодня я наткнулся на таблицу в sql, которая была создана кем-то, кто работал над проектом давным - давно.

В таблице не было столбца первичного ключа, поэтому я решил добавить 1, а затем обновил файл EDMX в своем решении, но теперь он продолжает выдавать эту ошибку:

Необходимо указать сопоставление для всех ключевых свойств.

Я уронил стол и воссоздал его заново, но эта ошибка никуда не делась.

Я был бы очень признателен за некоторую помощь в этом вопросе.

Спасибо.

Что я уже пробовал:

Погуглите этот вопрос.

Удалите текущий EDMX и импортируйте новый 1.

Перестройте/очистите решение.

3 Ответов

Рейтинг:
2

Maciej Los

Прежде всего, вы должны udpate (воссоздать) .edmx файл из схемы (базы данных).
Как же так? В EF дизайнер[^] - щелкните правой кнопкой мыши -> Update Model from Database.

В случае, если это не поможет, пожалуйста, следуйте этим инструкциям:
Редактирование файла .edmx вручную (Entity Framework)[^]
EDM - необходимо указать сопоставление для всех ключевых свойств набора сущностей[^]

Удачи вам!


Kats2512

Да, щелкните правой кнопкой мыши обновить модель из базы данных. Я даже удалил сущность/таблицу из диаграммы.

Проверю ссылку завтра, когда вернусь на работу.

Kats2512

по какой-то глупой причине я открыл EDMX как xml и обнаружил, что он отказывается удалять ассоциацию. После удаления xml-текста ошибка исчезла, и edmx был обновлен правильно.

Понятия не имею, почему он не хочет удаляться автоматически.

Рейтинг:
2

Kats2512

Удалена ассоциация из XML-файла, так как она не удалялась/не обновлялась автоматически при удалении/обновлении ассоциации в базе данных.


Рейтинг:
2

sonu roy

удалите конкретную таблицу из модели browser..in оба объекта model.store ande .
После этого снова добавьте ту же таблицу.- это сработает .


Kats2512

Прочтите решение 2, я уже нашел способ обойти эту проблему.

Я пробовал твой путь, но он не работает.