Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 实体框架-从上下文创建上下文_C#_Entity Framework - Fatal编程技术网

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

C# 实体框架-从上下文创建上下文,c#,entity-framework,C#,Entity Framework,我有一张表格来填写文件a。文件a有相关的文件B和C。 单个上下文应该用于单个工作单元-例如填写文档A。但是!我想填写B和C,同时填写A,选择取消一切。是否可能,如果可能,如何从另一个上下文而不是数据库创建上下文 我为文档a创建了一个上下文,当用户开始创建文档B时,我需要一个“子上下文”,将其更改保存在“父”上下文中 我可以这样做吗?怎么用?我做错了什么吗?没有。你不能为上下文创建上下文-至少没有这样的内置功能,所以你必须自己创建新的“子上下文”类型和完整的逻辑 如果您想作为工作单元工作,只需使用

我有一张表格来填写文件a。文件a有相关的文件B和C。 单个上下文应该用于单个工作单元-例如填写文档A。但是!我想填写B和C,同时填写A,选择取消一切。是否可能,如果可能,如何从另一个上下文而不是数据库创建上下文

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


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

没有。你不能为上下文创建上下文-至少没有这样的内置功能,所以你必须自己创建新的“子上下文”类型和完整的逻辑

如果您想作为工作单元工作,只需使用单一上下文即可。您可以使用两种方法:

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

  • 不可以。您不能为上下文创建上下文-至少没有这样的内置功能,所以您必须创建新的“子上下文”类型并完全自己完成其逻辑

    如果您想作为工作单元工作,只需使用单一上下文即可。您可以使用两种方法:

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