我有一个简单的关系:
我有一个“Note”对象,它有一个相关的“Company”对象。创建“注释”时,选择现有的“公司”,然后输入其他必要的字段。
我的问题是,每当我保存时,它都会插入一个新版本的“公司”对象,我不知道为什么。
我已经尝试了此处接受的答案中的所有选项Insert new object with existing object但没有任何效果。
目前,我正在执行以下操作:
var company = db.Company.FirstOrDefault(i => i.ID == note.Company.ID);
note.Company = company;
db.Notes.AddObject(note);
db.ObjectStateManager.ChangeObjectState(company, EntityState.Unchanged);
db.ObjectStateManager.ChangeObjectState(note, EntityState.Added);
db.SaveChanges();
但是,它不断添加一个新的“公司”对象。奇怪的是,它没有添加所有字段,只添加了 CompanyName" 字段(并创建了一个新的 Id)。