2
当我有一个父实体拥有其他实体列表(一对多关系)时,我修改此列表然后调用函数来保存父实体。随着实体已经从这个列表中删除,该框架是否会从数据库中删除它们?并且新实体已添加到列表中将被添加到数据库中? 感谢您的帮助!实体框架 - 修改子对象列表
当我有一个父实体拥有其他实体列表(一对多关系)时,我修改此列表然后调用函数来保存父实体。随着实体已经从这个列表中删除,该框架是否会从数据库中删除它们?并且新实体已添加到列表中将被添加到数据库中? 感谢您的帮助!实体框架 - 修改子对象列表
假设你有父母与子女之间的一对多关系,即父母有ChildList,孩子有父母。 看着案件。如果Parent位于实体上下文中,并将Child的实例添加到Parent的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();
如果从Parent的ChildList中删除一个Child并保存上下文,那么由于外键约束,您将得到一个异常。
Parent parent = provider.ParentSet.FirstOrDefault();
parent.ChildList.Remove(parent.ChildList.FirstOrDefault());
provider.SaveChanges();
如果删除了从上下文属于母公司的childList的童车之一,保存的背景下,这将是成功的,它会从数据库中删除。
provider.DeleteObject(parent.ChildList.FirstOrDefault());
provider.SaveChanges();
上述情况适用于实体模型的默认配置。实体框架还提供了许多选项,您还可以决定实体上下文的行为。 你只需要自己尝试这些和这种情况。我认为会更好。