context.savechanges 影响 - Telerik EF 概念

context.savechanges impact - Telerik EF concept

我遇到的情况如下。

我有两个名为 parent 和 child 的表。

从数据库中获取数据后,我得到了 parent 的 1 行和 child 的 2 行。

在这个阶段,如果我创建新的 child 并将其添加到上下文并应用保存更改,那么现在我的数据库包含针对 parent 的 1 行和针对 [=22= 的 3 行] 但我的上下文只包含 2 行反对 child...

我是否需要刷新整个上下文或仅刷新 child 以获取上下文中的最新数据库 childs 记录,以便我可以在期间使用新添加的 child 执行其他操作整个操作。

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

对于未来的读者,我想将这个问题标记为已解决,感谢 Damyan Bogoev 的指导。

我观察到 entity framework 功能,即通过调用 context.savechanges() 将新记录保存在数据库中的那一刻,当前上下文将自动获取它及其身份 ID(序列 /新插入的主键)并将状态设置为 'managed loaded'

意味着我可以在当前上下文中使用新插入的行,而无需重新获取/刷新我的上下文。