导航属性和EF中的关联有什么区别?

时间:2011-06-24 15:34:27

标签: entity-framework entity-framework-4

我使用EF4。

希望我的问题不是太微不足道:

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

如果你能用一个例子给我一个简单的解释,那将非常感谢!

3 个答案:

答案 0 :(得分:14)

关联是两种实体类型(ala a foreign key)之间关系的定义

导航属性实际上是一个属性,允许您从关联的一端遍历到另一端。

修改:抱歉,您想要一个示例。

看看这篇MS文档。它使差异非常明显。

Navigation Properties

Association Types

公然内联他们的文档(自托管图像):

Association

PublishedBy和WrittenBy是关联。它们将Book / Publisher和Book / Author(ala外键)联系在一起

Navigation Property

请注意发布商和作者实体中的图书。这个“导航属性”允许您遍历回书本实体并检索它的信息。 (例如,Author.Books.Title)

希望能够解释它!

答案 1 :(得分:3)

我相信协会充当外键,而导航属性允许您在代码中的相关实体之间“导航”。

Foreign Key Association in Entity Framework 4

编辑

此外,看起来您没有外键(关联)可以拥有导航属性:Navigation Property without Declaring Foreign Key

答案 2 :(得分:1)

导航属性反映了两个实体之间的关系,外键是根据EF定义两个表或实体之间关系的方法之一。