原文:http://www.cnblogs.com/chenkai/archive/2010/05/05/1728212.html
WCF Ria Service三个常用的核心类关系:
DomainService与LinqtoEntitiesDomainService /LinqToSqlDomainService关系制图如下:
DomainService类是领域服务的基类-域名服务是用WCF Service来封装一个应用程序的业务逻辑. 一旦你实例化一个Domain Service. Domain Service会对外暴露出与这个Domain Service相关l连的业务逻辑层 访问代理proxy.
LinqToEntitiesDomainService类:对领域服务提供了一个利用Linq操作实体的基类. 同理而言LinqToSqlDomainService同样一个操作领域服务的基类. 只不过方式变成了Linq to SQL.
一个域名服务类必须注明EnableClientAccessAttribute属性,以使服务对给客户端项目时可见的. 如下创建一个实例来说明如何使用Ria Service在Silverlight访问数据.
A:创建一个Silverlight Application.
B:在创建项目时指定Silverlight版本为4.0 注意必须启用RIA Service.
Silverlight 添加RIa Service后空白解决方案.
D:如何通过RIA Service在Silverlight访问数据. 基本思路如下;
E:基于解决方案中服务器端Silverlight2.Web添加一个数据实体类:ADO.NET Entity Data Model.
出现一个添加向导 选择实体类数据源-来自数据库:
下一步. 建立一个数据库有效连接. 下一步 选择指定数据库下实体数据对应的表:
ok即完成了数据实体的创建.需要注意实体所在命名空间支持自定义. 即将在Silverlight2客户端程序引用它. 也可以选中该文件在属性中找到CurrentNameSpace直接修改该文件所在命名空间.
F:在解决方案服务器端Silverlight2.Web中添加领域服务Domain Service文件:
出现创建向导.如下:
发现在向导中Domain Service Class 要选择实体类是空. 注意在创建Ria Service中每做一次修改都需要Ctra +Shit+B快捷键重写生成一下解决方案.
Enable Client Access指定在Silverlight客户端可编辑的 选中实体类中Customer表.ok 生成一个Domain Service. 这时解决方案自动生成一个DomainService1.CS文件.
该文件特点如下:
(1)该 CustomerDomainService 继承于抽象的LinqToEntitiesDomainService类 。这个基类是自动使用的域名服务公开一个与之像关联ADO.NET实体数据类Customer.
(2)CustomerDomainService 类是标有EnableClientAccessAttribute 属性,以表明它是可见的客户端层Silverlight2项目中是可见的.
(3)一个没有任何过滤和排序操作的GetCustomer()方法获得全部Customer表数据. 同理而言在这个类也可以定义增删改查相应数据操作方法.
G:Silverlight客户端项目Silverlight2中引用.
重写生成以下解决方案,在Silverlight客户端项目Silverlight2中查看所有文件.发现在Generated_Code文件下多了一个SilverlightApplication2.Web.g.CS代码文件
打开该代码文件. 其特点如下:
(1)WebContext 继承与类WebContextBase 生成的一个类
(2) CustomerDomainContext 继承于类 DomainContext。这个类有一个方法名为 GetCustomersQuery 相对应的查询方法在域中创建服务
(3) Customer 从派生类 Entity 生成的类是由Domain Service暴露公开的实体。该客户端 的Customer 实体类通服务器上Customer实体类向对应匹配/
G:在Silverlight中获得对应数据:
在MainPage.XAMl中必须导入两个命名空间: 一个是定义数据实体所在命名空间[即在创建ADO.NET Entity指定空间] 另外一个是Domain Service所在命名空间[默认为项目名称].
在MainPage放入一个DataGrid来测试是否获得数据. 后台编码如下:
代码
1 public partial class MainPage : UserControl
2 {
3 private CustomerDomainContext _customerContext = new CustomerDomainContext();
4
5 public MainPage()
6 {
7 InitializeComponent();
8
9 LoadOperation<Customer> loadOp = this._customerContext.Load(this._customerContext.GetCustomersQuery());
10 CustomerGrid.ItemsSource = loadOp.Entities;
11 }
12 }
13
测试结果:
一个完整通过Ria Service获取数据库MSSQL中数据过程如上.
分享到:
相关推荐
**WCF RIA Service Silverlight 商业应用**是利用微软技术构建高效、交互性强的Web应用程序的一个示例。本文将深入探讨WCF RIA Services与Silverlight结合在商业环境中的运用,以及它们如何帮助开发者创建丰富的...
在IT领域,Silverlight是一种由微软开发的富互联网应用程序(RIA)平台,它允许开发者创建交互...学习这些文档,开发者将能够更深入地理解如何利用Silverlight和WCF RIA Services构建高效、可靠的数据库驱动的RIA应用。
**WCF RIA Service官方帮助**是一份专为初学者设计的详细教程,旨在帮助开发者理解和运用这项技术。WCF RIA(Windows Communication Foundation Rich Internet Application)服务是微软提出的一种解决方案,它允许在...
通过分析和学习这个"BookClub"案例源码,开发者可以深入理解WCF RIA Services的工作原理,掌握如何在实际项目中利用它来构建高效的数据驱动的Silverlight应用程序。同时,这也是一个很好的实践平台,可以帮助开发者...
这个源码集合是为初学者设计的,提供了一个快速理解和实践WCF RIA服务的起点。 首先,我们来理解一下WCF RIA服务的核心概念: 1. **数据契约(Data Contracts)**:WCF RIA服务依赖于数据契约定义业务对象的数据...
"RIAServices_docs"这个文件夹可能包含详细的API参考文档、示例代码、教程和常见问题解答,对于深入理解和使用WCF RIAServices非常有帮助。建议开发者在遇到具体问题时,查阅这些文档以获取解决方案。
**WCF RIA Service**(Windows Communication Foundation Rich Internet Application Service)是微软开发的一种技术,用于在SilverLight应用程序和服务器之间创建高效的数据交换服务。这项技术的主要目标是简化...
WCF RIA Services simplifies the traditional n-tier application pattern by bringing together the ASP.NET and Silverlight platforms. RIA Services provides a pattern to write application logic that runs ...
在WCF RIA Services中调用存储过程是一个相对复杂的过程,因为默认情况下,这些服务不会自动将数据库中的存储过程映射到服务操作。本篇将详细介绍如何在WCF RIA Services中实现对存储过程的调用,特别是带有输入和...
本文将详细讨论如何在 Silverlight 的 DataGrid 控件中利用 WCF RIA Service 实现 Load-on-demand 数据加载。 首先,WCF RIA Service 是一种用于 Silverlight 应用程序与服务器之间通信的服务,它可以简化数据访问...
WCF RIA服务通过定义操作(Operations)和服务契约(Service Contracts),使得在Silverlight应用中调用服务器端的方法变得简单直观。 **SilverlightSellThrough案例解析** "Nicholas.SilverlightSellThrough"这个...
"一个简单的 Silverlight 4 应用程序(MEF+ MVVM+ WCF RIA Services)源代码及安装文件" 这个标题表明我们正在讨论一个基于 Silverlight 4 的应用程序,它利用了三个关键的技术:Managed Extensibility Framework ...
WCF RIA Services+Mef+MVVM实现CRUD示例源码 实现了雇员的增删改查,雇员表(Employee)和部门表(Department)、雇员类型表 (EmployeeType)有外键关联,并和字典表(DataDict)有字典关系 示例采用技术说明: 1、...
在本篇中,我们将深入探讨Silverlight中的WCF RIA(Rich Internet Application)服务,特别是关于Domain Service的第二部分源代码。WCF RIA服务是微软.NET Framework的一部分,旨在简化客户端应用程序,如...
**WCF REST Service Template 40** 是一个专门为Visual Studio 2010设计的扩展模板,用于简化基于Windows Communication Foundation (WCF) 创建RESTful服务的过程。REST(Representational State Transfer)是一种...
在本项目中,“WCF REST Service Test”是一个用于测试WCF REST服务的应用程序,它提供了模拟RESTful服务器的功能。 ### WCF REST服务基础 WCF REST服务允许开发者创建基于HTTP协议的、符合REST原则的服务。REST...
在本篇中,我们将深入探讨如何使用Silverlight WCF RIA(Rich Internet Application)服务创建一个自定义的服务类库,并理解源代码的工作原理。Silverlight WCF RIA服务是微软提供的一种技术,它允许开发人员在...
在本压缩包中,`WCF.Service.rar`包含了一个名为`ServiceReference1`的客户端引用,以及`WCF.Service`的源代码,这表明我们正处理一个基于C#实现的WCF服务实例。 **服务参考(ServiceReference1)**: 在C#开发中,...
此压缩包提供的"silverlight4+mvvm+RIAService"学习Demo,涵盖了Silverlight开发的核心技术,对于初学者来说,是一个很好的实践平台,可以深入理解MVVM模式如何在Silverlight中工作,以及如何利用RIA Service进行...