要把客户端上做的(增/删/改)操作传递到数据库,必须要有一种机制来监控哪些数据被改动,也就是所谓的Change-Tracking. 然后只把改动的(增/删/改)的数据通过网络传递到服务器端进行实际的数据库更新操作。
WCF RIA Services的DomainContext起着监控数据改动的作用。
ObservableCollection是和客户端view紧密结合的。也就是实现了INotifyCollectionChanged接口,数据集中有增加/删除时可以立即通知UI更新自己。但监控数据更改(Change-Tracking),以备将来把客户端上做的增删改操作汇集起来通知服务器端应该不是它的职责范围。
我不知道现在的WPF4是否可以用到WCF RIA Services,但怎么也得有个执行Change-Tracking的家伙,DataSet可以做到,纯WCF可能也提供了ObjectTracking机制。