one-to-one forhold til eksplicit FK-ejendom (som din PayGroup.SupervisorId ) er ikke understøttet.
Så fjern den egenskab fra modellen:
public class PayGroup
{
public int Id { get; set; }
public virtual Employee Supervisor { get; set; }
}
og brug følgende flydende kortlægning:
modelBuilder.Entity<PayGroup>()
.HasRequired(e => e.Supervisor)
.WithOptional()
.Map(m => m.MapKey("SupervisorId"));
WithOptional() call specificerer to ting. For det første er der ingen omvendt navigationsegenskab i Employee klasse, og for det andet at FK er valgfri (Allow Nulls = true i tabellen).
Hvis du beslutter dig for at tilføje omvendt navigationsegenskab
public class Employee
{
public string EmployeeId { get; set; }
public string FullName { get; set; }
public virtual PayGroup PayGroup { get; set; } // <=
}
ændre det til WithOptional(e => e.PayGroup) .
Hvis du vil gøre det påkrævet (Allow Nulls = false i tabellen), og brug derefter den tilsvarende WithRequiredDependent overbelastning (Afhængig betyder her, at Employee vil være rektor og PayGroup vil være den afhængige ).