我在一个Silverlight 4+ MVVM项目中使用ASMX作为服务。
我发现DataForm太麻烦了。IEditableObject、绑定等似乎都很麻烦。我已经在没有DataForm的情况下在我的应用程序中完成了一些表单,它们工作得非常好。
所以我想我真正的问题是,数据表单给了我什么是手动轰炸表单不能给我的?是同时编辑多条记录吗?因为这看起来像是concurrency噩梦的秘诀。
发布于 2010-08-06 22:52:31
不确定您的具体情况,但我可以从RIA Services的角度回答(这特别受益于DataForm)。
RIA服务将实体传递给silverlight应用程序。这些项已经是RESTful,并且已经实现了IEditableObject接口(好处#1),它们还可以携带元数据,如字段要求、导航属性、有效范围、错误消息等。默认情况下,实体框架和RIA服务将通过携带数据源(如SQL)中定义的元数据开始,而不需要您的努力(好处#2)。使用内置集合之一,如CollectionViewSource或DomainDataSource,提供导航实现(通过ICollectionView接口)(好处#3)。
根据您所说的,听起来您正在以一种相当手动的方式传递数据,并且您可能不会立即获得这些好处。
要获得这些好处,可以尝试将元数据添加到模型对象中(通过添加来自System.ComponentModel.DataAnnotations名称空间的属性),尝试使用CollectionViewSource来实现集合的过滤、排序和导航。
https://stackoverflow.com/questions/3418337
复制相似问题