The INSERT statement conflicted with the FOREIGN KEY constraint

288
10 февраля 2020, 21:50

Person.cs (сущность персоны):

public class Person
    {
        private long _id;
        private string _name;
        private string _displayName;
        private List<Skill> _skills;
        public long Id
        {
            set => _id = value;
            get => _id;
        }
        public string Name
        {
            set => _name = value;
            get => _name;
        }
        public string DisplayName
        {
            set => _displayName = value;
            get => _displayName;
        }
        public List<Skill> Skills
        {
            set => _skills = value;
            get => _skills;
        }
        public Person(string name, string displayName, List<Skill> skills)
        {
            Name = name;
            DisplayName = displayName;
            Skills = new List<Skill>();
            for (int i = 0; i < skills.Count; i++)
            {
                Skills.Add(new Skill(skills[i].Name, skills[i].Level/*, Id*/));
            }
        }
        private Person() { }
    }

Skill.cs (сущность навыка):

 public class Skill
    {
        private long _id;
        private string _name;
        private byte _level;
        private long _personId;
        [Key]
        public long Id
        {
            set => _id = value;
            get => _id;
        }
        public string Name
        {
            set => _name = value;
            get => _name;
        }
        public byte Level
        {
            set => _level = value;
            get => _level;
        }
        public long PersonId
        {
            set => _personId = value;
            get => _personId;
        }
        public Skill(string name, byte level)
        {
            Name = name;
            Level = level;
        }
    }

POST запрос:

[HttpPost]
public void Post()
       {
            Skill attentiveness = new Skill ("attentiveness", 2);
            List<Skill> skills = new List<Skill> {attentiveness};
            Person person = new Person("Igor", "newVoitje", skills);
            _context.Skills.Add(attentiveness);
            _context.Persons.Add(person);
            _context.SaveChanges();
        }

С помощью миграций создаю БД:

Пытаюсь выполнить POST запрос и вылазит ошибка:

SqlException: The INSERT statement conflicted with the FOREIGN KEY constraint "FK_Skills_Persons_PersonId". The conflict occurred in database "DbHallOfFame", table "dbo.Persons", column 'Id'. The statement has been terminated.

Обыскал все ресурсы, все равно не могу решить проблему

READ ALSO
Правильное сохранение даты

Правильное сохранение даты

возникла проблема с сохранением датыГенерирую дату, путем добавления к текущей дате и времени двух минут

305
Проблемы с proxy c#

Проблемы с proxy c#

Весьма давно решился на написание софта для создания ботнетов в соц сетяхНачиналось все с инстаграмма, но там меня вскоре забанили по айпи,...

309
Красивый вывод SQL таблиц в Unity

Красивый вывод SQL таблиц в Unity

я парсю с сайта SQL таблицы в json формате и задался вопросом как можно красиво вывести таблички SQL, чтоб каждая запись соответствовала столбцу...

313
Многоугольник со скруглёнными углами

Многоугольник со скруглёнными углами

Необходимо создать подобный интерфейс - PS

281