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いくつかのアクションを実行した後、データベースは、外部キーと1つの追加キーを持つEmployeeテーブルを使用して作成されますEmployerInfo_EmployerID

現在、雇用主のデータを取得すると、従業員の詳細が取得されます。しかし、従業員データを取得しようとすると、EmployerInfoがnullとして取得されます。これは、EmployeeからEmployerInfoへの関係が必要なためです。

このコンテキストで双方向の関係を設定するにはどうすればよいですか?

4

1 に答える 1

8

リレーションシップマッピングに両端が含まれるように、流暢さを更新する必要があります。

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