嗨,我有一个使用 EF 自我跟踪对象的项目。我正在尝试向对象添加关系。(parentobject.relationshipObject.Add(新的 relationshipObject...))。但它会抛出一个错误:
在 CollectionChanged 或 PropertyChanged 事件期间无法更改 ObservableCollection。
此错误发生在模板创建的代码的#Region "Association Fixup" 中。最初mainobject没有带来任何关系。只有当用户选择项目时,才会更新项目中的关系。我发现如果我从集合中删除 MainObject 并将其与关系一起读取,则不会发生此错误。如果我只更新 mainObject 中的关系对象,当我从客户端添加新的关系对象时会出现此问题,非常感谢任何帮助
--代码顺序如下 1.获取所有父实体。2.当用户选择实体时,获取实体的关系并更新关系实体
parentCol.AsEnumerable.Where(Function(x) x.ID = e.Result.ID).FirstOrDefault().StopTracking() parentCol.AsEnumerable.Where(Function(x) x.ID = e.Result.ID).FirstOrDefault ().relationshipEntity = e.Result.relationshipEntity parentCol.AsEnumerable.Where(Function(x) x.ID = e.Result.ID).FirstOrDefault().StartTracking()
- 在关系实体中添加一个新项目
将 newRel 作为新的 relationshipEntity newRel.Ref_parent_Id = parentItem.ID newRel.REF_rel_ID = relItem.Id parentItem.relationshipEntity.Add(newRel) ---> 在这里抛出错误
relationshipEntity 表示父实体和另一个实体之间的关系表(多对多关系)。
谢谢