我在Entity Framework Code First对象的导航属性上遇到INotifyPropertyChanged问题。我的理解是,这是一个已知问题:reported here。
我已经看到了一些与EF 生成的对象(例如here)的AssociationChanged事件相关的变通方法。由于该课程没有实现IEntityWithRelationships,因此尝试将其添加到课程中并不起作用。 (我确实尝试使用虚拟属性添加接口,但这不起作用,因为它在基类中被访问以提供通知。)
我还尝试添加导航属性外键更改时的通知,但是在调用SaveChanges()方法之前似乎没有发生这种情况,这对我来说太晚了。
是否有Code First解决方法?
编辑:对于那些在每个问题中都需要代码的人,请转到:
public class SubAnalysis
{
public virtual Analysis Analysis { get; set; }
// My attempt to add notification
// Does not fire until too late (at SaveChanges?)
public Guid AnalysisGuid
{
get { return this.analysisGuid; }
set
{
if (this.analysisGuid != value)
{
this.analysisGuid = value;
this.OnPropertyChanged("AnalysisGuid");
this.OnPropertyChanged("Analysis");
}
}
}
}