【问题标题】:Create Association in Entity Framework?在实体框架中创建关联?
【发布时间】:2011-03-30 15:46:47
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

    • 谢谢,这解决了我的问题的第一部分......但我仍然不确定如何使用 EntityDataSource 从两个实体中提取数据,即使我现在已经设置了它们有导航属性吗?
    • 对不起,我不会帮你EntityDataSource。我不喜欢这些控件,也不使用它们。
    【解决方案2】:

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

    如果您在 DB 架构中添加了约束,则无需更改表本身,而且除非您已经遇到约束问题,否则这应该很容易。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多