Сущности: добавление свойства навигации между представлением и таблицей

Как вы можете видеть на диаграмме ниже, существует отношение «один ко многим» между таблицей ProjectTask и Dependency.

Диаграмма базы данных

Entities пытается сопоставить каждое поле в представлении с полями в таблице зависимостей, что не сработает.

Любые предложения о том, как я могу добавить свойство навигации?

Спасибо, Эйб.


Вот ссылка на схему отображения:

Схема сопоставления


person Abe    schedule 09.10.2009    source источник


Ответы (1)


По умолчанию, когда вы добавляете представление базы данных в свою модель, Entity Framework предполагает, что каждый отдельный столбец является частью первичного ключа. То же самое происходит, если вы добавляете таблицу без определенного первичного ключа.

Решение состоит в том, чтобы вручную отредактировать файл edmx с помощью редактора XML и самостоятельно определить первичный ключ. Найдите тег ‹EntityType› для вашего представления (‹EntityType Name="MyView"›), после чего появится элемент ‹Key›. Удалите все неключевые столбцы из этого элемента.

person Josh Hinman    schedule 15.10.2009
comment
FWIW, вам больше не нужно редактировать EDMX, чтобы изменить ПК модели. Просто просмотрите свойства столбцов модели под Entity Types (не под Tables/Views) и измените свойство EntityKey на false. - person JoeBrockhaus; 30.10.2014