EF 5.0 Code First双向导航在子节点中使用外键id

Jay*_*eep 3 entity-framework ef-code-first

我有以下课程

public class Employer
{
    [Key]
    public Int64 EmployerID { get; set; }
    public String CompanyName { get; set; }
    public virtual List<Employee> Employees { get; set; }
}

public class Employee
{
    [Key]
    public Int64 EmployeeID { get; set; }
    public String EmployeeName { get; set; }
    public virtual Employer EmployerInfo { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

在数据库上下文中,我将关系设置为

modelBuilder.Entity<Employer>()
.HasMany(p => p.Employees)
.WithRequired()
.Map(x => x.MapKey("EmployerID"));
Run Code Online (Sandbox Code Playgroud)

执行某些操作后,将使用具有EmployerID外键和一个额外键的Employee表创建数据库EmployerInfo_EmployerID.

现在,当我获取雇主数据时,我正在获取员工的详细信息.但是当我尝试获取员工数据时,我将EmployerInfo视为null.这是因为我需要从Employee到EmployerInfo的关系.

如何在此上下文中设置双向关系?

Mar*_*eta 7

您需要更新您的流利,以便您的关系映射包含两端:

        modelBuilder.Entity<Employer>()
        .HasMany(p => p.Employees)
        .WithRequired(e => e.EmployerInfo)
        .Map(x => x.MapKey("EmployerID"));
Run Code Online (Sandbox Code Playgroud)