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,我正在使用实体框架将大量数据上传到数据库。我有很多不同的实体,它们之间有联系 我的问题是,有时我上传的对象可能已经在数据库中,但当我查找该对象并找到它时,我无法将其添加到本地创建的实体中,因为它们属于不同的上下文 例如,我有实体水手和酒,它们有关系。我有一个新水手阿克巴,我知道他最喜欢的酒是朗姆酒,我想把它保存到数据库中。 我做了一个新水手,把它的名字命名为阿克巴。然后我抬头看看酒里有没有朗姆酒。如果有,我会尝试将其添加到Ackbar。当我这样做时,EF抱怨说新水手和数据库中的酒属于不同的上下文

我正在使用实体框架将大量数据上传到数据库。我有很多不同的实体,它们之间有联系
我的问题是,有时我上传的对象可能已经在数据库中,但当我查找该对象并找到它时,我无法将其添加到本地创建的实体中,因为它们属于不同的上下文

例如,我有实体水手和酒,它们有关系。我有一个新水手阿克巴,我知道他最喜欢的酒是朗姆酒,我想把它保存到数据库中。
我做了一个新水手,把它的名字命名为阿克巴。然后我抬头看看酒里有没有朗姆酒。如果有,我会尝试将其添加到Ackbar。当我这样做时,EF抱怨说新水手和数据库中的酒属于不同的上下文。 如果我尝试将sealer附加到上下文,它会抱怨sealer有一个空的实体键


在编辑关系之前,我如何在不将任何内容保存到数据库的情况下构建所有这些关系?

我建议您修改代码,以使用相同的
上下文进行读写。一个事务有多个上下文并不比有一个持续几分钟的
Context
好。

如果没有一行代码,我只能建议尝试使用一个
Context
实例。很抱歉,缺少代码,我真的无法将任何内容联机。不使用一个上下文的原因是我认为您应该只在短时间内使用上下文。在上下文中,我将读取整个word文档并从中卸载数据。对于此操作,可以使用相同的
context
。如果需要,可以在每次
SaveChanges
之后循环使用
上下文。