Obecnie mam klasę o nazwie EmployeeDetails
, która wygląda jak poniżej.Wiele relacji samoreferencyjnych w Entity Framework
public class EmployeeDetails {
public int EmployeeDetailsId { get; set; }
public string Name { get; set; }
public string Title { get; set; }
[ForeignKey("Manager")]
public int? ManagerId { get; set; }
public virtual EmployeeDetails Manager { get; set; }
[ForeignKey("LineManager")]
public int? LineManagerId { get; set; }
public virtual EmployeeDetails LineManager { get; set; }
}
Próbuję dodać Manager
i LineManager
właściwości które odwołują się obiekty tego samego typu. Podczas próby dodania migracji pojawia się następujący błąd:
Nie można określić podstawowego związku skojarzeń między typami EmployeeDetails
i EmployeeDetails
.
Właściwość Menedżer działała zgodnie z oczekiwaniami przed dodaniem właściwości ManagerId, LineManagerId
i LineManager.
Jak mogę to rozwiązać?
Jak wygląda twoje mapowanie? Czy w kolumnie LineManagerId jest dodany klucz obcy? –
Nie mam żadnych dodatkowych atrybutów odwzorowania na klasie w tej chwili. – James
Musisz mapować swój klucz obcych za pomocą atrybutu lub płynnego odwzorowania, twoje konwencje nazewnictwa nie są i nie mogą być zgodne z konwencjami, których EF może użyć do ich rozwiązania. –