3

我有以下课程

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"));

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

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

在这种情况下如何设置双向关系?

4

1 回答 1

8

You need to update your fluent so your relationship mapping contains both ends:

        modelBuilder.Entity<Employer>()
        .HasMany(p => p.Employees)
        .WithRequired(e => e.EmployerInfo)
        .Map(x => x.MapKey("EmployerID"));
于 2012-08-23T12:59:42.320 回答