Tags标签 网战地图
当前位置: 主页 > 网站建设 > silverlight教程 >

使用LINQ和ADO.NET创建Silverlight程序

2012-04-09 09:52 [silverlight教程] 来源于:
导读:在Silverlight中可以创建行业和其它以数据为中心的应用系统,但在Silverlight中处理数据不是一 件容易的事情,由于Silverlight包括许多处理数据和支持Web Servi

在Silverlight中可以创建行业和其它以数据为中心的应用系统,但在Silverlight中处理数据不是一 件容易的事情,由于Silverlight包括许多处理数据和支持Web Service及XML的工具,但这些工具仅代表 跨过防火墙进行数据访问的最基础的部分。

常见的数据访问策略是使用Web Service和客户端LINQ共同实现的,如果你正在修改现有Web Service 端点强化你的Silverlight应用程序,那么我推荐你使用这个方法。但如果你在使用Silverlight创建一个 新的Web Service,就没有必要这么做了。

对一个典型的Web Service层而言,你在服务器上实现一个传统的数据访问策略(自定义业务对象、 LINQ to SQL、实体框架、Nhibernate等)通过Web Service暴露数据对象,Web Service仅仅是数据访问 策略下面的网关。

但为了开启完整的数据连通性,你必须要映射四个数据操作(创建、读取、更新和删除)到Web Service方法,下面是一个简单的支持Product类的service contract,注意我在本文中使用的都是C#。

例1 Product Web Service的Service Contract

[ServiceContract]
public interface ICustomerService
{
  [OperationContract]
 List GetAllProducts();
  [OperationContract]
 Product GetProduct(int productID);
 [OperationContract]
  List GetAllProductsWithCategories();
  [OperationContract]
 Product SaveProduct(Product productToSave);
  [OperationContract]
 void DeleteProduct(Product productToDelete);
}

创建一套服务来处理应用程序完整的数据模型可能是相当费时的,正如这个例子中显示的,特殊特性 的操作可能导致Web Service非常臃肿,换句话说,Web Service将有新的要求和操作要增加,甚至包括不 属于核心业务域的操作。

在例1中你看到GetAllProductsWithCategories操作默认用于检索Product和分类。即使添加排序、过 滤和分页机制到这个简单的例子你也不要感到惊讶,如果有一个简单的方法支持数据操作(如查询、排序 、过滤等)不用每次都手动构建这些机制那将是非常吸引人的,ADO.NET Data Service就正是为此而生的 。

(编辑:)

本文标签:
网友评论

栏目列表

推荐文章