EF Add Object - это дочерний объект, который создается автоматически? - PullRequest
1 голос
/ 02 апреля 2019

Если у меня есть объект Parent, который содержит ссылки внешнего ключа на таблицу Child, и я добавляю Child в родительский объект, нужно ли мне вызывать Context.Add () как для дочернего, так и для родительского объекта отдельно? или только родитель?

учитывая, что:

Parent.childobj=child;//foreign key reference set to the child object

Это:

mycontext.Add(Child);
mycontext.Add(Parent);

или

mycontext.Add(Parent);

1 Ответ

0 голосов
/ 02 апреля 2019

Если оба объекта уже существуют, и вы хотите связать дочерний элемент с родительским, а также родительский объект отслеживается контекстом, достаточно обновить свойство FK.

Parent.ChildId=child.Id;
context.SaveChanges();

Теперь, если Child - это новая сущность, а родительский объект уже существует и отслежен контекстом, используйте свойство reference, чтобы связать оба:

Parent.childobj=child; // You can also do this if both exist already in your DB
context.SaveChanges();

Если оба являются новыми, то добавьте родителя в контекст, который также сохранит связанный потомок:

Parent.childobj=child;
context.Parent.Add(parent);
context.SaveChanges();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...