У меня есть 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 снова пытается добавить этого существующего_п родителя и все, что я нужно просто иметь ссылку на этого родителя у ребенка.