C# 什么';s";实体键“;在edmx文件中?

C# 什么';s";实体键“;在edmx文件中?,c#,edmx,edmx-designer,C#,Edmx,Edmx Designer,在一个C#项目中,首先使用EF数据库,我使用SQLServerManagementStudio向表中添加了一个外键 之后,回到Visual Studio,我从数据库中更新了模型,但看不到两个受影响表之间的“链接”(即.edmx图表中连接两个表的行)。因此,在子表的下拉列表中,我看到了这个选项“实体键”,当我单击它时,“链接”出现了。老实说,我不知道,我也不明白它是做什么的,因为我现在可以在不丢失链接的情况下选中或取消选中它 你知道为什么会有这种行为吗 谢谢 EntityKey是(在您的例子中是S

在一个C#项目中,首先使用EF数据库,我使用SQLServerManagementStudio向表中添加了一个外键

之后,回到Visual Studio,我从数据库中更新了模型,但看不到两个受影响表之间的“链接”(即.edmx图表中连接两个表的行)。因此,在子表的下拉列表中,我看到了这个选项“实体键”,当我单击它时,“链接”出现了。老实说,我不知道,我也不明白它是做什么的,因为我现在可以在不丢失链接的情况下选中或取消选中它

你知道为什么会有这种行为吗


谢谢

EntityKey是(在您的例子中是SQL)数据库中主键的实体概念。您应该为主键的任何列设置它,然后可以设置实体关联以匹配数据库关联


从SQL Server设置正确的EntityKeys是必须的,因为EntityKeys用作内部缓存键。

因此,我假设这与我在检查链接后可以看到链接这一事实无关。它只是碰巧在那时而不是之前刷新。感谢如果您的关联需要该属性,那么是的,没有将该属性设置为实体键可能会导致您的关联不出现。实体中的关联与SQL中的关联非常相似。