设计模式- 数据源架构模式

表数据入口(Table Data Gateway)

充当数据库表访问入口的对象。一个实例处理表中所有的行。

表数据入口包含了用于访问单个表或者视图的所有SQL,如选择、插入、更新、删除等。其他代码调用它的方法来实现所有与数据库的交互。

运行机制

  • 表数据入口包括的每个方法,都将输入参数映射为一个SQL调用,并在数据库连接上执行该语句。
  • 对于返回多行的方法,采取两种方法:
  • 映射。把数据从数据集中复制到映射中,但是破坏了编译时检查.
  • 数据传输对象。工作的较好,尽管需要创建额外的对象。
  • 使用结果集。尽管在如.NET中很好地支持表数据入口和表模块很好地协调,单会带来概念上地混淆,因为内存中地对象无需知道SQL接口。
  • 表数据入口可以适当地和领域对象一起工作,但领域对象和表入口之间会产生双向依赖。
  • 可以为视图使用表数据入口,但要注意视图无法更新。

使用时机

  • 表数据入口可以很好地映射到数据库上去,但和领域模型很少一起使用,因为数据映射器就能很好地分离领域模型和数据库。
  • 表数据入口可以和表模块一起很好地使用,产生地记录集由表模块处理。
  • 特别适用于事务脚本。
  • 表数据入口和存储过程类似。插入和更新存储过程实际上也封装了实际地表结构

表数据入口示例

用表数据入口获取数据

用表数据入口获取数据,并返回多行

类似地,可以创建修改和插入方法……

表数据入口示例

使用数据集
数据集和适配器是C#原有特性,在二者之间定义一个保持器,用于建立数据集和数据适配器之间地联系-填充适配器

  • 7
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值