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

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

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

我正在使用“模型优先”方法生成模型。

最佳答案

Microsoft Prism的“统一容器”的最新版本通过其“行为拦截”功能直接解决了这个问题。使用该功能可以使任何类都表现为好像继承自INotifyPropertyChanged。

该功能最引人注目的吸引力在于,您的EF类可以非常高兴地不知道发生了什么,并且不需要手动编码即可工作。如您所料,您必须根据自己的需求来衡量性能。

您可以在此处下载Prism。 Prism

有一个演练,您应该能够在此处剪切并粘贴到您的代码中。 Interception Behaviour您可以在应用程序的启动阶段从此演练中整理代码,其余的将由Unity处理...

准备好一些代码是一个很大的优势,因为如果您以前没有使用过类型注入(inject),那么代码可能会变得很繁琐,因此,我建议您进行演练。

10-08 03:07