Создать навигацию/ассоциацию из таблицы для просмотра в EF 4.0

У меня есть таблица контейнеров с ContainerId как PK (int) и представление (только для чтения) vwBlobRef со столбцом BlobRefId, установленным как PK, и ContainerId как FK. Кстати, мне нужно вручную установить BlobRefId в качестве ключа сущности для представления...

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

Теперь я получаю:

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

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


person Victor C    schedule 13.02.2012    source источник


Ответы (1)


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

person Ladislav Mrnka    schedule 13.02.2012
comment
Спасибо, что решил это! У меня были некоторые жалобы на множественность по сравнению с моим представлением (из-за столбцов, допускающих значение NULL?), и мне пришлось перейти от ровно одного к нулю или одному. -Виктор - person Victor C; 13.02.2012