使用Fluent API将新列添加到映射表

时间:2012-10-03 19:50:22

标签: c# entity-framework fluent-interface

我有两个实体如下:

public class Project
{
    public int ID { get; set; }
    public string ProjectName { get; set; }
}

public Class FourteenSteps
{
    public int ID { get; set; }
    public string StepName { get; set; }
}

我想将这两个映射到一个实体,我正在使用Fluent API进行如下操作:

modelBuilder.Entity<Project>()
    .HasMany(c => c.FourteenSteps)
    .WithMany(d => d.Projects)
    .Map(m => m.ToTable("FourteenStepStatus")
    .MapLeftKey("ProjectId")
    .MapRightKey("FourteenStepsId"));

现在,新表“FourteenStepStatus”有两个名为“ProjectId”的字段    “FourteenStepsId”。

我想再添加一个名为“IsCompleted”的“FourteenStepStatus”字段,这是    不属于其他两个实体。我怎么能够    那样做?

由于

2 个答案:

答案 0 :(得分:0)

如果您想在联结表中添加其他字段,则无法将其用于多对多关系。您必须改为引入新实体FourteenStepStatus,映射其所有列并映射两个一对多关系:一个在ProjectFourteenStepStatus之间,第二个在FourteenSteps和{之间{1}}。映射的多对多关系仅适用于联结表仅包含密钥的情况。

答案 1 :(得分:0)

我得到了如何添加数据的答案。通过将对象添加到上下文的FourteenStepStatus实体。谢谢。