在前一篇
DataService数据模型(1) 里介绍了如何实现一个内存数据集合的 DataService,接下来研究一下如何实现更新操作。
这里偷了个懒,直接让 DataModel 实现
IDataServiceUpdateProvider接口,而 IDataServiceUpdateProvider 实际继承于 IUpdatable 接口。为了实现数据的增加,修改,删除,主要实现下面几个方法:
PS:实体关联关系的一系列操作,比较复杂,之后讨论。
另外需要提到的是 IDataServiceUpdateProvider接口设计中支持批量特性,这就允许在一个事务中一次更新很多的资源。换句话说可以在SaveChangeds()方法调用前,调用IDataServiceUpdateProvider.SetValue() 或者 CreateResource()多次。这似乎看起来比较简单,但是对接口的实现却影响很大。在某个方法实现上,不可以立即将请求反映到数据源上,而是记录所发生的事情并在最后一次性的提交所有操作。
如果数据存放在数据库中,那么数据库系统会自动的在事务中记录所有的命令操作(比如:Entity Framewok)。但在这个例子中使用了内存对象存放数据,所以需要记录在SaveChanges()前所发生的一切。
因此在 DataModel 中,增加了 List<Action> _actions 来记录 SaveChanges() 之前的操作(请求)。
然后在 CreateResource, SetValue, DeleteResource 时都只是将操作暂存在 _actions 里。
SaveChanges 时 ForEach 所有暂存的 Action,一口气调用。 ClearChanges 则简单的把 _actions 清空。
客户端调用:
运行结果:
分享到:
相关推荐
HYPERLINK"http://blog.csdn.net/fangxinggood/article/details/6762632"WCF实例——WindowsServiceHost开发,调试,制作安装包本篇实例介绍如何使用WindowsService来寄宿WCF服务:1.添加WCFServiceLibrary工程,这...
wcf经典实例wcf经典实例wcf经典实例wcf经典实例wcf经典实例wcf经典实例wcf经典实例wcf经典实例wcf经典实例wcf经典实例wcf经典实例wcf经典实例wcf经典实例wcf经典实例wcf经典实例
WCF实例WCF实例WCF实例WCF实例WCF实例WCF实例WCF实例WCF实例WCF实例WCF实例WCF实例WCF实例WCF实例WCF实例WCF实例WCF实例WCF实例WCF实例WCF实例WCF实例WCF实例WCF实例WCF实例WCF实例WCF实例WCF实例
WCF实例管理的概述,WCF服务实例激活类型三种方式概述和单例服务的完整代码。
wcf 实例 代码 简单实例,方面上手 简单实例,方面上手
wcf实例化-单调服务模式,言简意赅,很容易理解。就是现在积分没发控制,不然1分即可。很简单的代码
一个以订票为例简单应用WCF实例,入门简单,经典
一个简单的WCF实例,但结构师分为Host,Service,client,将Host与Service分开实现,实例中有相关的配置
WCF 自定义编码绑定
WCF 22个实例2 wcf 值得收藏,好资源
在博客园看到的WCF的例子,做成的源码。 先运行Host,再运行Client就能看到效果。
WCF 元数据浏览器 WCF 元数据浏览器
ajax跨域调用wcf实例
1:创建第一个WCF服务 2: 使用IIS发布WCF服务 3:自运行WCF服务 4:使用Windows服务发布WCF服务 5:创建WCF客户端程序
WCF实例(基于X.509证书的身份验证)
WCF小实例[包括WCF事务编程]
帮助入门的同志,希望这个东西能给您的入门带来方便,大家共同进步。
Windows Communication Foundation (WCF)是 Microsoft为构建面向服务的应用提供的分布式通信编程框架,是.NET Framework 3.5的重要组成部分
本实例是一个关于配置WCF、编写WCF服务到调用的,里面会教你手动生成对应的WSDL。此实例基本借鉴 Robin关于WCF第七节中的思想。
WCF实例(基于TCP协议的配置)