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.
Обыскал все ресурсы, все равно не могу решить проблему
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости