Подтвердить что ты не робот

Конец ассоциации не отображается в инфраструктуре сущности 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

Не уверен, что это я делаю неправильно

4b9b3361

Ответ 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
  • ContactId
  • OrderId

и др.

Объект связи

  • Id
  • FirstName
  • LastName и др.

В данных сопоставления я выбрал таблицу Entity A. Затем он показал оба конца ассоциации. Я сопоставил его свойство Entity A Id с его фактическим столбцом идентификатора таблицы (у них были разные имена). Затем я сопоставил поле Id объекта Contact в поле ContactId объекта A.

Ответ 8

Просто выберите таблицу отношений (*) из ассоциации > Редактировать сопоставление и выберите соответствующую взаимосвязь