Entity Framework, как установить внешний ключ для первичного ключа в той же таблице - PullRequest
0 голосов
/ 28 апреля 2020

Я пишу с вопросом, как установить внешний ключ в первичный ключ в той же таблице. Пример кода (он не работает "может вызвать циклы или несколько каскадных путей. Укажите ON DELETE NO ACTION или ON UPDATE NO ACTION или измените другие ограничения FOREIGN KEY.")

 class Employee
        {
            [Key]
            public int EmployeeId { get; set; }
            [ForeignKey("EmployeeId")]
            public int ManagerId { get; set; }               
        }

1 Ответ

0 голосов
/ 28 апреля 2020

По [ForeignKey("EmployeeId")] вы объявляете «EmployeeId» как имя свойства foreignKey, которое в первом объявлено для primaryKey аннотацией [key]. Вам просто нужно изменить один из них и добавить свойство навигации вашего класса Manager или удалить все аннотации данных и позволить Entity Framework позаботиться обо всем.

public class Employee
{
   public int EmployeeId { get; set; }

  //Foreign key for Manager
  public int ManagerId { get; set; }
  public Manager Manager { get; set; }
}

public class Manager
{
   public int ManagerId { get; set; }

   public ICollection<Employee> Employees { get; set; }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...