В чем разница между навигационным свойством и Ассоциацией в EF?
Я использую EF4.
Надеюсь, мой вопрос не слишком тривиален:
What is the difference between a Navigation Property and an Association in EF?
Если бы вы могли дать мне простое объяснение с примером, то большое спасибо!
Ответы
Ответ 1
Связь - это определение отношения между двумя типами сущностей (ala - внешний ключ)
Навигационное свойство действительно является свойством, которое позволяет вам перемещаться с одного конца ассоциации на другой.
Изменить: извините, что вам нужен пример.
Взгляните на эту документацию по MS. Это делает его довольно понятным.
Свойства навигации
Типы ассоциаций
Чтобы наглядно представить свою документацию (само размещение изображений):
![Association]()
PublishedBy и WrittenBy являются ассоциациями. Они связывают книгу/издателя и книгу/автора (внешние ключи от ala)
![Navigation Property]()
Обратите внимание на Книги в объектах Publisher и Author. Это "свойство навигации" позволяет вам вернуться к объекту книги и получить его также. (Например, Author.Books.Title)
Надеюсь, что это объяснит!
Ответ 2
Я считаю, что Ассоциация действует как внешний ключ, а свойство Navigation позволяет вам "перемещаться" между связанными объектами в коде.
Ассоциация внешних ключей в Entity Framework 4
EDIT
Кроме того, похоже, что у вас нет свойства навигации без внешнего ключа (Ассоциации): Навигационное свойство без объявления внешнего ключа
Ответ 3
Свойства навигации отражают взаимосвязь между двумя объектами, а внешний ключ является одним из способов определения отношения между двумя таблицами или объектами в терминах EF.