如何使Entity Framework生成的类实现INotifyPropertyChanged?

我在WPF中使用MVVM模式来创建程序。

我在我的模型类上和平地实现了INPC ……直到几天前我决定使用EntityFramework。 现在我不知道如何告诉EntityFramework在生成的实体类上实现INPC,并在每次属性更改时引发属性更改事件。

其他问题只是建议在ViewModel上实现INPC,但我真的希望Model类实现INPC以减少工作量。

我使用模型优先方法来生成我的模型。

最近发布的Microsoft Prism的“Unity Container”直接通过其“行为拦截”function解决了这个问题。 使用该function可以使任何类BEHAVE ,就好像它inheritance自INotifyPropertyChanged。

该function最引人注目的吸引力在于,您的EF课程可以保持幸福,不知道发生了什么,并且不需要手动编码修改才能工作。 正如您所料,您必须根据您的要求来衡量性能。

你可以在这里下载Prism。 棱镜

有一个漫游,你应该能够在这里剪切并粘贴到你的代码中。 拦截行为您可以在应用程序的启动阶段连接本演练中的代码,Unity将处理其余的…

准备好一些代码是一个很大的优势,因为如果你以前没有使用过类型注入它会变得毛茸茸,所以我推荐这个演练。

您可以使用名为PropertyChanged.Fody的NuGet包使用几行代码执行此操作。 该文档在GitHub上 。 请参阅我的CodeProject提示“将INotifyPropertyChanged添加到entity framework类” 。