2012-01-20 61 views
1

我有一个表单来填写文档A.文档A具有关联的文档B和C. 单个上下文应该用于单个工作单元 - 例如填充文档A.但是!我想填写B和C,填写A时可以选择取消所有内容。是否有可能,如果是 - 如何 - 从另一个上下文而不是数据库创建上下文。实体框架 - 从上下文创建上下文

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

我可以这样做吗?怎么样?难道我做错了什么?

回答

1

不可以。您不能为上下文创建上下文 - 至少不存在这样的内置功能,因此您必须自己创建新的“子上下文”类型及其整个逻辑。

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

  1. 创建文档A,B和C,它们之间只有经过文件A添加到背景和SaveChanges正确引用。如果用户取消创建文档,则不会将文档A添加到上下文,也不会调用SaveChanges
  2. 创建文档A并将其添加到上下文中,创建文档B并将其添加到上下文中,创建文档C并将其添加到上下文中。之后,通过设置导航属性和SaveChanges在上下文之间进行引用。如果用户决定取消创建,则您将处理当前上下文而无需调用SaveChanges