У меня возникает сценарий, который выглядит следующим образом.context.savechanges impact - Telerik EF concept
У меня есть две таблицы с именем parent и child.
По получении данных из базы данных, я получил 1 строку против родителя и 2 строки против ребенка.
На этом этапе, если я создаю новый дочерний элемент и добавлю его в контекст и применим изменения сохранения, так что теперь моя база данных содержит 1 строку против родителя и 3 строки против дочернего элемента, но мой контекст содержит только 2 строки против дочернего ...
Нужно ли обновлять весь контекст или только этот ребенок, чтобы получить последнюю запись дочерних записей базы данных в контексте, чтобы я мог выполнять другие операции с недавно добавленным дочерним элементом в течение всей операции.
Parent objparent = context.Parent(p => p.id = 4);
objparent.count(); //1
objparent.Child.count();//2
Child objchild = new Child();
objchild.name = "abc";
objchild.parentid = 4;
context.add(objchild);
context.savechanges();
//do i need to refresh whole context to have newly added child under given parent
//or i should only fetch all childs against parent id 4 and re-attach them to context
В этом сценарии вы должны использовать управляемые свойства навигации. Http://docs.telerik.com/data-access/developers-guide/crud-operations/manage-navigation-properties/developer-guide-manage-navigation-properties- обзор –
@DamyanBogoev: Привет, спасибо за ответ, да, я уже пользуюсь управляемым навигационным свойством. я спрашивал, если я делаю savechanges здесь, как я обновляю свой контекст с этой вновь введенной записью, т. е. до того, как ребенок обновится как 2 строки в контексте, после обновления я хотел иметь 3 строки в этом контексте – tango
должен писать objParent.childs = context.Child (c => c.parentID = 4); для заполнения данного контекста с помощью новой записи – tango