one-to-one
hubungan dengan properti FK eksplisit (seperti PayGroup.SupervisorId
Anda) ) tidak didukung.
Jadi hapus properti itu dari model:
public class PayGroup
{
public int Id { get; set; }
public virtual Employee Supervisor { get; set; }
}
dan gunakan pemetaan lancar berikut:
modelBuilder.Entity<PayGroup>()
.HasRequired(e => e.Supervisor)
.WithOptional()
.Map(m => m.MapKey("SupervisorId"));
WithOptional()
panggilan menentukan dua hal. Pertama bahwa tidak ada properti navigasi terbalik di Employee
kelas, dan kedua bahwa FK adalah opsional (Allow Nulls = true
dalam tabel).
Jika Anda memutuskan untuk menambahkan properti navigasi terbalik
public class Employee
{
public string EmployeeId { get; set; }
public string FullName { get; set; }
public virtual PayGroup PayGroup { get; set; } // <=
}
ubah ke WithOptional(e => e.PayGroup)
.
Jika Anda ingin membuatnya diperlukan (Allow Nulls = false
dalam tabel), lalu gunakan WithRequiredDependent
yang sesuai kelebihan beban (Tergantung di sini berarti bahwa Employee
akan menjadi kepala sekolah dan PayGroup
akan menjadi bergantung ).