Entity framework 实体框架-修改子对象列表

Entity framework 实体框架-修改子对象列表,entity-framework,entity,Entity Framework,Entity,当我有一个父实体持有其他实体的列表(一对多关系)时,我修改这个列表,然后调用函数保存父实体。随着实体已从该列表中删除,框架是否将从数据库中删除它们?而且新的实体已经添加到列表中,是否会添加到数据库中? 谢谢你的帮助 假设父母和孩子之间有一对多的关系,即。e、 ,父项有子项列表,子项有父项。 看看这些案子。如果父对象位于实体上下文中,并且您将子对象的实例添加到父对象的子对象列表中,并保存上下文,则子对象将添加到数据库中 Parent parent = new Parent() { Name = "

当我有一个父实体持有其他实体的列表(一对多关系)时,我修改这个列表,然后调用函数保存父实体。随着实体已从该列表中删除,框架是否将从数据库中删除它们?而且新的实体已经添加到列表中,是否会添加到数据库中?
谢谢你的帮助

假设父母和孩子之间有一对多的关系,即。e、 ,父项有子项列表,子项有父项。 看看这些案子。如果父对象位于实体上下文中,并且您将子对象的实例添加到父对象的子对象列表中,并保存上下文,则子对象将添加到数据库中

Parent parent = new Parent() { Name = "parent1" };
provider.AddToParentSet(parent)
parent.ChildList.Add(new Child() { Name = "child1" });
parent.ChildList.Add(new Child() { Name = "child2" });
parent.ChildList.Add(new Child() { Name = "child3" });
provider.SaveChanges();
provider.DeleteObject(parent.ChildList.FirstOrDefault());
provider.SaveChanges();
如果从父对象的子对象列表中删除其中一个子对象并保存上下文,则会由于外键约束而出现异常

Parent parent = provider.ParentSet.FirstOrDefault();
parent.ChildList.Remove(parent.ChildList.FirstOrDefault());
provider.SaveChanges();
如果从上下文中删除属于父项的ChildList的一个child并保存上下文,则该操作将成功,它将从数据库中删除

Parent parent = new Parent() { Name = "parent1" };
provider.AddToParentSet(parent)
parent.ChildList.Add(new Child() { Name = "child1" });
parent.ChildList.Add(new Child() { Name = "child2" });
parent.ChildList.Add(new Child() { Name = "child3" });
provider.SaveChanges();
provider.DeleteObject(parent.ChildList.FirstOrDefault());
provider.SaveChanges();
上述情况对实体模型的默认配置有效。实体框架还提供了许多选项,您还可以决定实体上下文的行为。 你只需要自己尝试一下这些情况。我想会更好