0

我们使用 EF5 进行用户管理,并在 和 之间建立简单的一对多关系UsersPartners而这两个类都是自跟踪实体类。

用户伙伴关系

在向数据库添加新用户时,我们创建一个新用户实体并检查合作伙伴实体是否已存在于数据库中并相应地设置合作伙伴。

var user = new User {
   Partner = userRepository.FirstOrDefault(e => e.PartnerCode == partnerCode) };

现在,当我们执行时,SaveChanges我们面临的问题是ObjectStateManager返回一个属性设置ObjectStateEntry为的Partner实例:StateAdded

对象状态条目

不清楚为什么这个状态设置为Added,因为如果我们只是按照对象的Entity属性ObjectStateEntry导航到原始实体,我们会看到它仍然具有状态Unchanged

在此处输入图像描述

这会导致合作伙伴实体被写入数据库的问题,即使它已经存在也非常烦人。

这里有什么可能是错误的建议吗?

4

0 回答 0