为Silverlight 项目创建通用WebService数据访问

     在使用Silverlight之前,我们创建了自己的webService做为通用数据访问。开发者传递一个Sql语句,即可得到一个DataSet,DataTable作为返回值。在Silverlight项目中,由于其对DataTable的限制,我们不得不首先得到DataTable,而后在本地再创建Web service(WCF),对得到的DataTable进行转换。转换为数组或者泛型集合以适应Silverlight的需要。
     但是这样做难免有些繁琐,且开发者做出了很多费力的工作。
     这里,我们对原来的Webservice做出了一些改动:但凡返回值为DataSet的webMethod都为其加上一层“外衣”,将其转化为XElement后返回给调用者一个XML档案。开发者只需利用LINQ TO Xml通过简单的xml操作就可得到需要的集合。这样就免除了每个专案建立“自己”的service的工作。
     下面通过一个简单的Demo对这个操作做出说明:

     根据得到的DataTable,为其创建XElement作为返回值
  
Code
Result:


调用者解析xelement
Code

上面的LINQ TO XML也可以这样简化写法:

Code

注:这里的实体类是不能缺少的

Code


这里LINQ To XML的应用使得操作变得简单实用.

 

posted on 2009-03-14 16:00  easy2Dev  阅读(2904)  评论(7编辑  收藏  举报

导航