EF Core пытается вставить повторяющуюся запись в родительскую таблицу - PullRequest
0 голосов
/ 27 апреля 2020

У меня есть Parent и Child как этот

 public class Child
    {
        public String id { get; set; }
        public Parent parent { get; set; }
    }

 public class Parent
    {
        public String id { get; set; }
        public ICollection<Child> childs { get; set; } = new List<Child>();
    }

У меня также есть экземпляр parent

Parent existing_parent = context.First([whatever]);

И я хочу создать нового дочернего элемента и добавить в него этого существующего родителя , Поэтому я делаю

Child child = new Child(){
    parent = existing_parent // when this line is commented it works but parentid is null
}
existing_parent.childs.add(child);
context.Childs.Add(child);
context.saveChanges();

Тогда EF Core не позволит мне сохранить этого нового потомка и выдает что-то вроде этого

Microsoft.EntityFrameworkCore.Database.Command: Error: Failed executing DbCommand (3ms) [Parameters=[...], CommandType='Text', CommandTimeout='30']
INSERT INTO `Parents` (`id`)
VALUES (@p0);

Так что EF Core снова пытается добавить этого существующего_п родителя и все, что я нужно просто иметь ссылку на этого родителя у ребенка.

...