使用DataSet的好处

在很多场合使用DataSet是非常方便的,列举一些使用DataSet的好处如下:

1、易于和UI控件绑定。

     虽然可以通过给自定义业务对象实现一些接口(IList,IListSource,IBindingList等)来使得其可以和控件进行绑定,但毕竟比较费事,而将DataSet和Web Form或者Window Form都是非常方便的。

2、易于持久化。

       使用DataAdapter可以很方便地insert、update和delete数据,DataSet是一个非常易于使用的离线数据库,DataSet能记下列的初始值(我们可以用在where语句中以重新取得记录),而且还对DataRow的状态(insert、update和delete)进行跟踪。比如我们可以加一个Row_Update事件,来保持两个列值的同步。

3、可排序。

4、可进行数据过滤。

5、可以方便地使用XSD's来定义强类型的DataSet——使用定义好的xml文件自动生成强类型DataSet。这为自动生成代码提供了很大的方便。

6、计算字段和查找字段——我们可以加入字段,这个字段的值依赖于其他字段(甚至来自别的DataTable)的值。

7、和XML良好地结合。

      DataSet提供了内建的XML序列化功能,还有ReadXml()、WriteXml()等方法,为我们提供了很大的方便。比如我们可以使用WebService返回DataSet到客户端。

8、关系。一个DataSet中可以有多个DataTable,这些DataTable之间还可以建立关联,可以Select Distinct和Group By。

9、数据验证。

       DataSet本省就提供简单的验证(比如类型、可空、最大长度和唯一性等),另外如上面第2点提到的,我们还可以以编程的方式对行和列的变化进行捕捉(比如Row_Update),从而可以对数据进行校验。

10、自动增长列。

       在处理自动增长列方面也很方便。

11、微软的其它产品对DataSet提供了很好的支持,比如InfoPath、BizTalk等。

12、第三方.Net控件也对DataSet提供了很好的支持。

13、利用ExtendedProperty可以方便地在运行时给DataSet添加元数据,并且非常易于使用。

14、DataSet在.Net社区中是讨论很多的技术之一,有广泛的应用。

15、对于DataSet的性能问题,将在新版本中得到改善。而且是否性能就低还在于使用者的水平。

激烈的讨论请看这里

其实是否使用DataSet还和使用什么样的架构设计密切相关。有人喜欢使用DataSet,而有人则赞成使用自定义实体。为了清晰业务逻辑,而又想在UI上方便地呈现数据(比如使用了O/R Mapping的时候,需要将业务实体在层间传递,客户端展示数据的时候是不方便直接将业务实体和UI控件绑定的),则可以将域模型(Domain Models)转换为表示模型(Presentation Models),有人写了个这样的类库NView,其中包括将业务实体转换为DataSet的功能。
 
相关链接:
Using Strongly Typed Objects and Collections to replace DataSet’s in your .NET applications
Choosing Data Containers for .NET
Layered Architectures & Transactions - why does it have to hurt so much ?
Debunking Dataset Myth
The Law of Leaky Abstractions

转载于:https://www.cnblogs.com/jiezhi/archive/2005/02/22/107557.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值