非常规外键字段在EF6中映射为NULL

时间:2015-06-27 17:35:32

标签: c# entity-framework entity-framework-6

我正在使用EF6。我有两个型号PowerLine和PowerSource。 PowerSource有一个指向PowerLine的外键列。问题是PowerLine对象使用List of PowerSource填充,但PowerSource的SourcePowerLine导航属性始终为NULL。我的模型如下:

public class PowerLine
{
    [Key]
    public int ID { get; set; }                                    
    public virtual ICollection<PowerSource> PowerSources { get; set; }    
}

public class PowerSource
{
    [Key]
    public int ID { get; set; }    
    public int SourcePowerLineID {get;set;}

    [ForeignKey("SourcePowerLineID")]        
    public virtual PowerLine SourcePowerLine { get; set; }                                                         
 }

我也尝试了Column(Order)属性来设置正确的顺序我也尝试使用Fluent API,如下所示:

        modelBuilder.Entity<PowerSource>()
                    .HasRequired(c => c.SourcePowerLine )
                    .WithMany(b => b.PowerSources)
                    .HasForeignKey(c => c.SourcePowerLineID);

1 个答案:

答案 0 :(得分:0)

您的[ForeingKey()]属性并未真正指向任何地方,请尝试:

[ForeignKey("PowerLine")]
public int SourcePowerLineID { get; set; }