在实体框架中创建关联?

时间:2011-03-29 22:29:40

标签: sql entity-framework entity-framework-4

我有一个数据库,其中表没有主键/外键。这个数据库是第三方,所以我真的不想编辑底层数据库结构。相反,我已经创建了一个EF模型,其中包含我想要使用的表...现在我想在模型级别定义不同实体之间的关联。例如,我有一个Person对象和一个Demographic对象,它们共享一个people_code_id列,它将是相同的...但我似乎无法弄清楚如何让这个关联显示出来然后如何能够访问这些附加列是否通过EntityDataSource?

2 个答案:

答案 0 :(得分:5)

首先,您必须在实体模型中定义主键。每个实体都必须具有主键,否则您将无法定义关系以及所有实体都变为只读。一旦定义了主键并且相关表包含外键属性(只是相关实体PK的id),您就可以手动创建关联。 Here是如何做到这一点的一般方法。即使您没有在DB中定义关系,它也应该有效。

答案 1 :(得分:-1)

除非在数据库架构中定义,否则EF不会显示关联。您仍然可以像使用纯SQL一样使用密钥进行连接,以匹配密钥及其引用。

我向数据库架构添加了约束,您不需要自己更改表,除非您已经遇到约束问题,否则应该毫不费力。