Конец ассоциации не отображается в инфраструктуре сущности ADO
Я только начинаю с ADO.net Entity Framework. Я сопоставил две таблицы вместе и получил следующую ошибку:
Error 1 Error 11010: Association End 'OperatorAccess' is not mapped. E:\Visual Studio\projects\Brandi II\Brandi II\Hospitals.edmx 390 11 Brandi II
Не уверен, что это я делаю неправильно
Ответы
Ответ 1
Дизайнер Entity Framework ужасен - у меня была такая же проблема много раз (и ваша проблема тоже, Крейг):
Это происходит, когда у вас есть ассоциация "много-к-одному", которая неправильно настроена.. Они могут очень легко исправить конструктор, чтобы сделать этот процесс простым; но вместо этого мы должны мириться с этим дерьмом.
Чтобы исправить:
- Нажмите на ассоциацию и перейдите к представлению сведений о карте.
- В разделе "Связь" нажмите "Карты" в <tablename> . Выберите таблицу (таблицы), которые составляют большую часть отношения (т.е. Таблицу (таблицы), составляющие * -side ассоциации в дизайнере)
- В разделе "Столбец" выберите столбцы-столбцы, которые сопоставляются с каждым свойством сущности. Вы получаете эту ошибку, когда одна из этих записей пуста.
Ответ 2
В вашем вопросе не так много информации, но, вообще говоря, это означает, что существует не полностью определенная ассоциация. Возможно, вы пытались сопоставить одну таблицу с внешним ключом в другой таблице, но не отображали эту другую таблицу. Вы также можете получить эту ошибку при попытке выполнить наследование типа таблицы в каждом типе, не тщательно следуя шаги для реализации этой функции.
Ответ 3
Не уверен в ответе, но я только что опубликовал аналогичный вопрос, который может по крайней мере помочь прояснить проблему, с которой вы столкнулись.
Определение ассоциации Entity Framework 1:1
Ответ 4
У меня была одна и та же проблема, и я это сделал, чтобы исправить ее.
Убедитесь, что у вас есть Entity Key, который установлен в вашем дизайнере в таблицах, с которыми вы связываетесь. Также убедитесь, что для параметра StoreGeneratedPattern установлено значение Идентификация для этого Ключа Объекта.
Ответ 5
Я считаю, что могу добавить еще более ясность в эту проблему (учиться, когда я иду)
Когда я просматриваю детали Mapping и смотрю на ассоциацию, столбец для таблицы accessaccess (сверху) пуст, и в раскрывающемся списке указывается только поле из
связанная таблица
alt text http://i38.tinypic.com/jtp2rt.jpg
Ответ 6
Мне пришлось вернуться в базу данных и уточнить отношение внешнего ключа
Ответ 7
У меня была эта проблема в случае, когда я создавал ассоциации с числом до 0..1 и 0..1 до 0..1. Одна организация нуждалась в ассоциациях с несколькими таблицами, и у этого объекта не было внешних ключей, определенных для этих таблиц.
Мне нужно было сделать шаг сопоставлений таблиц, который указан в принятом ответе, но обратите внимание, что это было не только для многих-многих ассоциаций; он применяется ко всем типам ассоциаций, которые я добавил для этого объекта.
В представлении "Детали отображения" мне пришлось выбрать сущность с столбцами идентификатора без внешнего ключа для различных таблиц. Это не всегда "много" сторона отношений. Только я смог сопоставить свойство связанного объекта с соответствующим свойством в исходном объекте. Выбор объекта "destination" не позволит мне выбрать нужные мне свойства, и ошибка все равно будет существовать.
Короче говоря, мне пришлось сопоставить таблицу, связанную с сущностью, у которой были поля идентификатора "не-иностранного ключа", соответствующие основным ключам (и их таблицам) различных объектов, которые мне нужно было связать.
Объект A
различные другие свойства...
и др.
Объект связи
- Id
- FirstName
- LastName
и др.
В данных сопоставления я выбрал таблицу Entity A. Затем он показал оба конца ассоциации. Я сопоставил его свойство Entity A Id с его фактическим столбцом идентификатора таблицы (у них были разные имена). Затем я сопоставил поле Id объекта Contact в поле ContactId объекта A.
Ответ 8
Просто выберите таблицу отношений (*) из ассоциации > Редактировать сопоставление и выберите соответствующую взаимосвязь