2012-10-03 101 views
1

我有兩個實體下面添加新列映射表:用流利的API

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; } 
} 

我要地圖這兩成一個實體,我使用如下流利的API做:

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

現在,新表「FourteenStepStatus」有兩個名爲「ProjectId」的字段和
「FourteenStepsId」。

我想再添加一個字段到「FourteenStepStatus」,名爲「IsCompleted」,它是 不是其他兩個實體的一部分。我如何 這樣做?

感謝

回答

0

如果你想在結表,你不能用它來多對多關係附加字段。您必須改爲引入一個新實體FourteenStepStatus,映射其所有列並映射兩個一對多關係:ProjectFourteenStepStatus之間的一個和FourteenStepsFourteenStepStatus之間的第二個。僅適用於聯結表僅包含密鑰的情況下映射多對多關係。

+0

感謝您的回覆。我有FourteenStepStatus實體(下面是實體),我所看到的是每當我創建一個新的項目記錄時用映射數據填充該表。我怎樣才能做到這一點? public int ID {get;組; } public int ProjectId {get;組; } public virtual Project Project {get;組; } public int FourteenStepsId {get;組; } 公共虛擬十四步十四步{get;組; } public bool IsCompleted {get;組; } public string Notes {get;組; } –

0

我得到了如何添加數據的答案。通過將該對象添加到上下文的FourteenStepStatus實體中。謝謝。