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

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

Я считаю, что могу добавить немного ясности в этот вопрос (учусь по ходу дела):

Когда я смотрю на детали сопоставления и смотрю на ассоциацию, столбец для таблицы доступа к операциям (сверху) пуст, а раскрывающийся список включает только поле из связанной таблицы.

Конец ассоциации не отображается в структуре объекта ADO

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
10
0
18 495
7
Перейти к ответу Данный вопрос помечен как решенный

Ответы 7

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

Не уверен в ответе, но я только что опубликовал аналогичный вопрос, который, по крайней мере, может помочь прояснить проблему, с которой вы столкнулись. Определение ассоциации Entity Framework 1: 1

Мне пришлось вернуться в саму базу данных и уточнить отношения внешнего ключа

Ответ принят как подходящий

Дизайнер Entity Framework ужасен - у меня много раз возникала одна и та же проблема (и ваша проблема тоже, Крейг):

Это происходит, когда у вас неправильно настроена ассоциация "многие к одному". Они могли бы очень легко исправить конструктор, чтобы упростить этот процесс; но вместо этого мы должны мириться с этим дерьмом.


Чинить:

  • Щелкните ассоциацию и перейдите к представлению детали карты.
  • В разделе ассоциации щелкните Соответствует <tablename>. Выберите таблицу (таблицы), которые составляют сторону отношения многие (т. Е. Таблицу (таблицы), которые составляют сторону связи * в конструкторе)
  • В разделе Столбец выберите столбцы таблицы, которые сопоставляются с каждым свойством на стороне объекта. Вы получаете эту ошибку, если одна из этих записей пуста.

просмотр сведений о картах?

Pangamma 14.06.2017 20:29

У меня была точно такая же проблема, и я решил ее исправить.

Убедитесь, что в вашем конструкторе установлен Ключ сущности для таблиц, с которыми вы устанавливаете связь. Также проверьте, что StoreGeneratedPattern установлен в Личность для этого ключа сущности.

У меня была эта проблема в том случае, когда я создавал ассоциации как многие до 0..1, так и от 0..1 до 0..1. Одному объекту требовались ассоциации с несколькими таблицами, и у этого объекта не было внешних ключей, определенных для этих таблиц.

Мне пришлось выполнить шаг сопоставления таблиц, который приведен в принятом ответе, но обратите внимание, что это было не только для многих ко многим ассоциациям; это применимо ко всем типам ассоциаций, которые я добавил для этой сущности.

В представлении «Сведения о сопоставлении» мне пришлось выбрать сущность со столбцами идентификатора не внешнего ключа для различных таблиц. Это не всегда сторона отношений «многие». Только там я смог сопоставить свойство связанной сущности с соответствующим свойством в исходной сущности. Выбор «целевого» объекта не позволит мне выбрать нужные мне свойства, и ошибка все равно будет существовать.

Короче говоря, мне пришлось сопоставить с помощью таблицы, связанной с сущностью, в которой были поля идентификатора «не внешнего ключа», соответствующие первичным ключам различных сущностей (и их таблиц), которые мне нужно было связать.

Сущность А

различные другие свойства ...

  • Идентификатор
  • ContactId
  • Номер заказа

и т.п.

Контактное лицо

  • Идентификатор
  • Имя
  • Фамилия и т.п.

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

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

Другие вопросы по теме