实体框架-从上下文创建上下文
本文关键字:上下文 创建 框架 实体 | 更新日期: 2023-09-27 18:21:03
我有一张表格要填写文档a。文档a有关联的文档B和C。单个上下文应该用于单个工作单元,例如填写文档A。但是!我想填写B和C,同时填写A,选择取消所有内容。是否可能,以及是否可以——如何——从另一个上下文而不是数据库创建上下文。
我为文档a创建了一个上下文,当用户开始创建文档B时,我想要一个"子上下文",将其更改保存在其"父"上下文中。
我能做到吗?怎样我做错什么了吗?
否。您不能为上下文创建上下文——至少没有这样的内置功能,所以您必须完全自己创建新的"子上下文"类型及其整个逻辑。
简单地说,如果你想作为一个工作单元来工作,就使用单一的上下文。您可以使用两种方法:
- 创建具有正确引用的文档A、B和C,然后将文档A添加到上下文和
SaveChanges
中。如果用户取消文档创建,您将不会将文档A添加到上下文中,也不会调用SaveChanges
- 创建文档A并将其添加到上下文中,创建文档B并将它添加到上下文,创建文档C并将它加入到上下文中。然后通过设置导航属性和
SaveChanges
在上下文之间进行引用。如果用户决定取消创建,您将在不调用SaveChanges
的情况下处理当前上下文