如何在MVVM中处理更改跟踪?

如何在MVVM中处理更改跟踪?,mvvm,Mvvm,我已经编写了一个小助手,用于在我的ViewModels中使用客户端更改跟踪对象/DTO(请参阅) 我没有找到很多关于这个主题的资源。所以我想知道;您通常如何处理它 谢谢, Marc视图模型就是将视图(UI)绑定到模型(数据)。因此,它不应该负责跟踪更改,这是您应该在模型类内部执行的操作,因为它们包含数据 要通知UI,Model和ViewModel都实现INotyfyPorpertyChanged。ViewModel捕获模型事件,并根据需要将其传播到视图 有关更完整的示例,请参见 我没有找到太多有

我已经编写了一个小助手,用于在我的ViewModels中使用客户端更改跟踪对象/DTO(请参阅)

我没有找到很多关于这个主题的资源。所以我想知道;您通常如何处理它

谢谢,
Marc

视图模型就是将视图(UI)绑定到模型(数据)。因此,它不应该负责跟踪更改,这是您应该在模型类内部执行的操作,因为它们包含数据

要通知UI,Model和ViewModel都实现INotyfyPorpertyChanged。ViewModel捕获模型事件,并根据需要将其传播到视图

有关更完整的示例,请参见

我没有找到太多有关的资源 主题

我也希望看到更多关于这个话题的讨论

所以我想知道;您通常如何处理它

  • 只需使用数据集
  • 继续寻找解决方案

  • 我明白这一点,但又不明白。模型并不经常出现在客户端。我说MVVM中的模型往往是DTO是错误的吗?模型是带有业务规则的数据。在简单的情况下,如果没有什么业务规则,它可能只是一个DTO。在更复杂的情况下,可以使用DTO将数据导入客户端,然后创建完整的模型。请参阅我在SilverlightOk中解释MVVM的博文,这是我不买的部分。在我的书中,客户端不存在“域/业务”模型。。。顺便说一句在您的场景中如何处理持久性?持久性是在服务器上完成的。如何做到这一点取决于具体情况,但ADO.NET数据服务(又名Astoria)和.NET RIA服务是可能的解决方案之一。比如说GMail。所有的逻辑都是客户端而不是服务器,服务器只是获取数据的网关。