В чем смысл этого исключения Entity Framework? - PullRequest
0 голосов
/ 20 октября 2011

Что означает это исключение?Где я могу найти ссылки на причину такого рода исключений?

Изменения в базе данных были успешно зафиксированы, но при обновлении контекста объекта произошла ошибка.ObjectContext может быть в несовместимом состоянии.Внутреннее сообщение об исключении: не удалось получить информацию метаданных для отношения «MyModel.FK_T_WORKER_VEHICLE_T_VEHICLE».Если используются атрибуты сопоставления, убедитесь, что в сборке определен атрибут EdmRelationshipAttribute для взаимосвязи.При использовании сопоставления на основе соглашения информация метаданных для отношений между отдельными объектами не может быть определена.Имя параметра: отношениеName

Я использую edmx с генерацией кода, установленной по умолчанию.Документы находятся в другом проекте, чем файл EDMX.

1 Ответ

0 голосов
/ 11 декабря 2014

В моем случае я получил ту же ошибку, когда добавил новую сущность (A) в свою диаграмму EDMX, в которой A имеет ссылку на внешний ключ для существующей сущности B. Затем эта ошибка возникла, когда я попытался сделать CRUD для B. Я провел некоторые исследования и следовал совету по MetadataException при использовании Entity Framework Entity Connection , который рекомендует переименовывать метаданные в строке подключения, но у меня это не сработало.

Шаги для решения: Проблема была в сущности A, а не в B. Вам необходимо проверить, что вновь добавленная сущность A правильно сопоставлена ​​с вашим классом A в вашем домене. Убедитесь, что имена и типы свойств совпадают (т. Е. Столбец может потребоваться преобразовать в тип Enum на диаграмме, чтобы он совпадал с вашей сущностью). Помните, что имена свойств чувствительны к регистру , поэтому, если они находятся в верхнем регистре в вашей сущности, они должны быть в верхнем регистре на диаграмме.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...