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 ).