在Entity Framework中创建关联?

3

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

2个回答

5

首先,您必须在实体模型中定义主键。每个实体必须有主键,否则您将无法定义关系,所有实体都变为只读。一旦您定义了主键并且相关表包含外键属性(即相关实体的PK id),您可以手动创建关联。这里是通用方法的概述。即使您没有在数据库中定义关系,它也应该起作用。


谢谢,这解决了我问题的第一部分...但我仍然不确定如何使用EntityDataSource从两个实体中提取数据,即使我现在已经设置了它们的导航属性? - Dave Mackey
抱歉,我不会帮你处理 EntityDataSource。我不喜欢这些控件,也不使用它们。 - Ladislav Mrnka

-1

EF不会显示关联,除非它们在数据库模式中定义。您仍然可以使用键来执行连接操作,就像在普通SQL中一样,以匹配键和它们的引用。

如果您向DB模式添加了约束,则无需更改表本身,除非您已经存在约束问题,否则这应该是轻松的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接