非常规外键字段在EF6中映射为NULL
本文关键字:映射 NULL EF6 字段 非常规 | 更新日期: 2023-09-27 18:00:09
我正在使用EF6。我有两个型号PowerLine和PowerSource。PowerSource有一个指向PowerLine的外键列。问题是PowerLine对象正在填充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);
您的[ForeingKey()]
属性并没有真正指向任何地方,请尝试:
[ForeignKey("PowerLine")]
public int SourcePowerLineID { get; set; }