0

所以我有两个相关表的旧系统,orders 和 orderextras。订单表的主键为 Id,标量属性为客户名称,外键为 orderextra_Id。orderextra 只有两个属性,作为其主键的 Id 和一个称为 extrainfo 的 varchar。

现在我刚刚开始阅读 EF 4.0 食谱,并且一开始它演示了将两个表组合成一个实体(所以基本上,我希望 extrainfo 出现在 order-entity 上,而不是将 orderextra 作为实体完全)。但是,在示例中,两个表共享相同的 PK。当他们有单独的 PK 并且其中一个表引用另一个表时,是否可以这样做?

4

2 回答 2

0

在设计器中,在其中一个实体上,从两个表中添加所需的列,然后转到“映射详细信息”窗口。

从那里,您应该会看到 Tables -> "Maps to XXX table"。在此之下,您可以添加另一个表并以这种方式映射列,这样您就可以将多个表添加到您想要的属性中。

于 2012-06-08T17:17:33.153 回答
0

尝试这个:

modelBuilder.Entity<Order>()
    .Map(m =>
    {
        m.Properties(t => new { /* order columns */ });
        m.ToTable("order");
    })
    .Map(m =>
    {
        m.Properties(t => new { /* orderextra columns */ });
        m.ToTable("orderextra");
    });
于 2012-06-08T16:23:35.810 回答