所以我有两个相关表,订单和orderextras的旧系统。订单表将Id作为其主键,将客户名称作为标量属性,将orderextra_Id作为外键。 orderextra只有两个属性,Id作为主键,varchar称为extrainfo。
现在我刚刚开始阅读EF 4.0 Recipes,并且在一开始它演示了将两个表组合成一个实体(所以基本上,我希望extrainfo出现在订单实体上,而不是orderextra作为一个实体)。但是,在该示例中,两个表共享相同的PK。当它们有单独的PK并且其中一个表引用另一个时,是否可以这样做?
答案 0 :(得分: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");
});
答案 1 :(得分:0)
在设计器中,在其中一个实体上,从两个表中添加所需的列,然后转到“映射详细信息”窗口。
从那里,您应该看到表格 - &gt; “地图到XXX表”。在其下方,您可以添加另一个表并将列映射到您想要的属性,以便您拥有多个表。