【问题标题】:With DevForce Ideablade, how do I determine if a related entity has been removed from an entity?使用 DevForce Ideablade,我如何确定相关实体是否已从实体中删除?
【发布时间】:2011-10-09 06:55:00
【问题描述】:
假设我在 Person 和 Pet 实体之间建立了一对多的关系(通过一个包含 PersonID、PetID 字段的简单表链接)。如果我这样做:
aPerson.Pets.Remove(aPet);
bool result = aPerson.EntityAspect.HasChanges();
调用 HasChanges 后结果为假。如何检查相关实体是否已被删除?
【问题讨论】:
标签:
c#
silverlight
entity-framework
entity-relationship
devforce
【解决方案1】:
当您从 Person 实体添加/删除 Pet 时,Person 实体本身不会被修改。这就是 HasChanges 为假的原因。
尝试使用 Pets 导航属性的 CollectionChanged 事件:
aPerson.Pets.CollectionChanged += new System.Collections.Specialized.NotifyCollectionChangedEventHandler(Pets_CollectionChanged);