В чем разница между навигационным свойством и ассоциацией в EF? - PullRequest
14 голосов
/ 24 июня 2011

Я использую EF4.

Надеюсь, мой вопрос не слишком тривиален:

What is the difference between a Navigation Property and an Association in EF?

Если бы вы могли дать мне простое объяснение с примером, было бы здорово, спасибо!

Ответы [ 3 ]

14 голосов
/ 24 июня 2011

Ассоциация - это определение отношения между двумя типами сущностей (аля внешний ключ)

Свойство навигации действительно является свойством, которое позволяет вам перемещаться от одного конца ассоциации к другому.

Редактировать : Извините, что вы хотели пример.

Посмотрите на эту документацию MS. Это довольно ясно показывает разницу.

Свойства навигации

Типы ассоциаций

Чтобы явно включить их документацию (самостоятельно размещенные изображения):

Association

Опубликованные и письменные являются ассоциациями. Они связывают воедино книгу / издателя и книгу / автора (аля внешние ключи)

Navigation Property

Уведомление Книги в сущностях Издатель и Автор. Это «свойство навигации» позволяет вам вернуться к сущности книги и получить ее информацию. (Например, Author.Books.Title)

Надеюсь, это объясняет!

3 голосов
/ 24 июня 2011

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

Ассоциация внешних ключей в Entity Framework 4

РЕДАКТИРОВАТЬ

Кроме того, не похоже, что вы можете иметьСвойство навигации без внешнего ключа (Ассоциация): Свойство навигации без объявления внешнего ключа

1 голос
/ 23 сентября 2012

Свойства навигации отражают отношения между двумя объектами, а внешний ключ является одним из способов определения отношений между двумя таблицами или объектами в терминах EF.

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