实体框架-从上下文创建上下文

本文关键字:上下文 创建 框架 实体 | 更新日期: 2023-09-27 18:21:03

我有一张表格要填写文档a。文档a有关联的文档B和C。单个上下文应该用于单个工作单元,例如填写文档A。但是!我想填写B和C,同时填写A,选择取消所有内容。是否可能,以及是否可以——如何——从另一个上下文而不是数据库创建上下文。

我为文档a创建了一个上下文,当用户开始创建文档B时,我想要一个"子上下文",将其更改保存在其"父"上下文中。

我能做到吗?怎样我做错什么了吗?

实体框架-从上下文创建上下文

否。您不能为上下文创建上下文——至少没有这样的内置功能,所以您必须完全自己创建新的"子上下文"类型及其整个逻辑。

简单地说,如果你想作为一个工作单元来工作,就使用单一的上下文。您可以使用两种方法:

  1. 创建具有正确引用的文档A、B和C,然后将文档A添加到上下文和SaveChanges中。如果用户取消文档创建,您将不会将文档A添加到上下文中,也不会调用SaveChanges
  2. 创建文档A并将其添加到上下文中,创建文档B并将它添加到上下文,创建文档C并将它加入到上下文中。然后通过设置导航属性和SaveChanges在上下文之间进行引用。如果用户决定取消创建,您将在不调用SaveChanges的情况下处理当前上下文