У меня есть две таблицы сотрудников и должности.
Employee
EmployeeId (PK)
PositionId (FK, Nullable)
Position
PositionId (PK)
Позиция может быть создана и не может быть назначена.Однако активному сотруднику требуется должность.Должность может быть назначена только одному сотруднику.Мы реализуем это, имея уникальное ограничение на Employee.PositionId.
В моих моделях я хочу иметь свойство Employee в Position и у меня возникают проблемы при сопоставлении этого.
Я пробовал
modelBuilder.Entity<Employee>().HasRequired(e => e.Position)
.WithOptional(p => p.Employee);
Однако в результате получается сопоставление столбца Employee.EmployeeId с Position.PositionId вместо Employee.PositionId с Position.PositionId (по крайней мере из того, что я могу сказать ...)
Является ли мой единственный вариант сопоставить это как отношение «один ко многим», хотя я заставляю 1-1 преодолевать уникальные ограничения?