C# 使用实体框架上传数据
我正在使用实体框架将大量数据上传到数据库。我有很多不同的实体,它们之间有联系C# 使用实体框架上传数据,c#,entity-framework,C#,Entity Framework,我正在使用实体框架将大量数据上传到数据库。我有很多不同的实体,它们之间有联系 我的问题是,有时我上传的对象可能已经在数据库中,但当我查找该对象并找到它时,我无法将其添加到本地创建的实体中,因为它们属于不同的上下文 例如,我有实体水手和酒,它们有关系。我有一个新水手阿克巴,我知道他最喜欢的酒是朗姆酒,我想把它保存到数据库中。 我做了一个新水手,把它的名字命名为阿克巴。然后我抬头看看酒里有没有朗姆酒。如果有,我会尝试将其添加到Ackbar。当我这样做时,EF抱怨说新水手和数据库中的酒属于不同的上下文
我的问题是,有时我上传的对象可能已经在数据库中,但当我查找该对象并找到它时,我无法将其添加到本地创建的实体中,因为它们属于不同的上下文 例如,我有实体水手和酒,它们有关系。我有一个新水手阿克巴,我知道他最喜欢的酒是朗姆酒,我想把它保存到数据库中。
我做了一个新水手,把它的名字命名为阿克巴。然后我抬头看看酒里有没有朗姆酒。如果有,我会尝试将其添加到Ackbar。当我这样做时,EF抱怨说新水手和数据库中的酒属于不同的上下文。 如果我尝试将sealer附加到上下文,它会抱怨sealer有一个空的实体键
在编辑关系之前,我如何在不将任何内容保存到数据库的情况下构建所有这些关系?我建议您修改代码,以使用相同的
上下文进行读写。一个事务有多个上下文并不比有一个持续几分钟的Context
好。如果没有一行代码,我只能建议尝试使用一个Context
实例。很抱歉,缺少代码,我真的无法将任何内容联机。不使用一个上下文的原因是我认为您应该只在短时间内使用上下文。在上下文中,我将读取整个word文档并从中卸载数据。对于此操作,可以使用相同的context
。如果需要,可以在每次SaveChanges
之后循环使用上下文。