使用Entity Framework多次连接到同一个表

时间:2009-01-22 00:38:35

标签: c# asp.net linq entity-framework

如果我有一个包含两个外键字段的表到另一个表,I.E。

Table: User 
Field: FK_PrimaryItem_ID
Field: FK_SecondaryItem_ID

Table: Item 
Field: ItemID

当我使用实体框架时,生成的对象变为:

User.Item 和 User.Item1

我无法区分他们两个。我可以映射回外键的名称,但这是一个很难的方法。如何找出哪一个,Item1或Item是哪个字段?

如果可能,我想自动生成EDMX文件。

2 个答案:

答案 0 :(得分:2)

一旦我更改了设计图面上导航属性的名称,我就没有发现更新模型的任何问题。

通常,User.Item将代表模型与该外键的第一列,而User.Item1将代表第二列。

但正如我所说,我刚进入模型,并根据映射详细信息中列出的关联将导航属性的名称更改为更多可用的名称。

答案 1 :(得分:1)

我在使用自引用键时遇到了同样的问题:

PageID
Parent_PageID  (refers to PageID)

直到我分别将导航属性重命名为“Parent”和“Children”。最棘手的部分是弄清楚哪个是哪个,我通过注意到NavigationProperty对象上的Multiplicity属性(父级为0..1,子级为*)