Проблемы с EDM ассоциациями - PullRequest
3 голосов
/ 21 сентября 2010

Я создаю службу OData и использую EDM для сопоставления структуры моей базы данных и определения связей между таблицами и создания свойств навигации.

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

У меня есть атрибут таблицы

AttributeId     int   PK
AttributeName   varchar(100)

и

AttributeItem
AttributeItemId       int PK
AttributeID           int
AttrributeItemValue   varchar(100)

Я хочу связать AttributeId между двумя таблицами с отношением от 0,1 до * (от Attribute до AttributeItem).

У меня постоянно возникают проблемы.Первоначально эта ошибка:

Ошибка 3027: не указано сопоставление для следующего EntitySet / AssociationSet - AttibuteAttributeItem

Затем, когда я возился с деталями сопоставления ассоциации Iполучить эту ошибку:

Ошибка 3024: проблема в отображении фрагментов, начиная со строки 91: необходимо указать сопоставление для всех ключевых свойств (AttributeItemId, AttributeId) End AttributeItem в Relationship AttributeAttributeItem.

Понятия не имею, почему он это делает.

Есть идеи, что мне не хватает?

спасибо,

B

1 Ответ

1 голос
/ 24 марта 2011

дважды щелкните по ссылке Ассоциирование и настройте Ссылочное ограничение.Он не должен быть пустым.После этого используйте «Создать базу данных», чтобы обновить внутреннюю часть модели EDM.Также рассмотрите возможность щелкнуть правой кнопкой мыши файл edmx в средстве решения и выбрать «Открыть с помощью ...» и открыть его в редакторе XML, чтобы увидеть строку ошибки (91).

...