Как добавить свойство навигации для сложного типа Entity Framework - PullRequest
4 голосов
/ 23 октября 2009

Я использую VS2010 Beta 2, у меня сложный тип с именем Адрес со следующими свойствами:

  • Улица
  • Город
  • CountryId

У меня есть объект Страна , определенный в моей модели, но я не могу найти способ добавить ссылку (свойство навигации) из свойства CountryId моего комплекса. Введите Id свойство моей Страны сущности.

Я ошибаюсь или это то, что я не могу сделать с дизайнером ?? ...

Другой вариант, который у меня есть, - это просто создание объекта Address, но он мне не подходит.

Ответы [ 2 ]

5 голосов
/ 26 октября 2009

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

2 голосов
/ 25 октября 2009

Хорошо,

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...