在孩子EF 5.0代码第一次双向导航withought外键ID(EF 5.0 Code First

2019-09-21 12:54发布

我有以下类

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

在数据库方面,我已设置的关系为

modelBuilder.Entity<Employer>()
.HasMany(p => p.Employees)
.WithRequired()
.Map(x => x.MapKey("EmployerID"));

在执行某些操作后,数据库被具有Employee表创建EmployerID为外键和一个额外的键EmployerInfo_EmployerID

现在,当我取的雇主的数据,我得到它的员工的详细信息。 但是,当我试图获取员工数据我得到EmployerInfo为空。 这是因为我需要从员工到EmployerInfo关系。

如何设置在此范围内的双向关系?

Answer 1:

你需要让你的映射关系包含两端更新您的流畅:

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


文章来源: EF 5.0 Code First Two way navigation withought foreign key id in child