我使用实体框架将大量数据上传到数据库。我有很多不同的实体,它们之间有关系。
我的问题是,有时我上传的对象可能已经在数据库中,但是当我查找该对象并找到它时,我无法将其添加到我本地制作的实体中,因为它们属于不同的上下文。
例如,我有实体Sailor和Booze,它们有关系。我有一个新的水手Ackbar,我知道他最喜欢的酒是朗姆酒,我想把它坚持到数据库。
我做了一个新的水手并将其名字命名为Ackbar。然后我抬头看看Booze是否有一个叫朗姆酒的条目。如果有,我尝试将其添加到Ackbar。当我这样做时,EF抱怨新的水手和数据库中的酒类属于不同的环境。
如果我尝试将水手附加到上下文,它会抱怨水手有一个空实体键。
在编辑关系之前,如何在不保存数据库的情况下构建所有这些关系?
答案 0 :(得分:0)
我建议您更改代码以使用相同的Context
进行读写。对于单个事务具有多个上下文并不比让Context
存活几分钟更好。