用于EF CodeFirst导航属性的INotifyPropertyChanged

时间:2015-05-11 16:48:21

标签: c# entity-framework ef-code-first inotifypropertychanged

我在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");
            }
        }
    }
}

0 个答案:

没有答案