爱问知识人 爱问教育 医院库

C#中的类型化数据集和非类型化数据集有什么区别

首页

C#中的类型化数据集和非类型化数据集有什么区别


        

提交回答

全部答案

    2018-09-22 01:33:27
  •   你说的是typed   DataSet和untyped   DataSet吧?   
    typed DataSet是从DataSet派生的,它根据事先定义的Data Schema生成数据集,对数据集中的字段实行强类型约束。
      你可以通过它产生的cs文件看到许多方法对DataTable的操作进行了封装,这样你就可以通过MyDataSet。MyTable。Field对字段进行访问,而不是像DataSet那样:
    MyDataSet。Tables["TableName"]["Field"]; 简化了编程,同时不容易出错,想象一下如果在"Field"中拼错了字段名,那么编译器也不会检查出来,对于typed DataSet就不用了,如果你Field写错的话,那么马上就可以知道。
      
    还有就是如果你在Typed DataSet包含多数据集,同时在XSD中对这些数据集建立关系和约束,那么Type DataSet会生成相应的方法来反映这些关系和约束。如果使用untyped DataSet,你需要自己做。
      
    性能上的考虑:虽然Typed DataSet创建对象实例的时候比unTypede DataSet要多一些开销(时间和空间),但是在填充数据的时候要比untyped DataSet快,这是因为DataAdapter已经知道怎么Fill一个Typed DataSet,相比之下,DataSet需要两次读取数据库,第一次取得数据库中表的结构信息,第二次才fill数据。
      
    Typed DataSet相对于DataSet的缺陷:除了创建的开销之外,Typed DataSet不如DataSet灵活,因为Typed DataSet一旦确定,数据表的结构就固定了,如果需要修改,必须重新生成。
      
    而DataSet你可以随时根据需要进行操作(比如添加字段,删除字段等)。

    x***

    2018-09-22 01:33:27

类似问题

换一换
  • C#/.NET 相关知识

  • 电脑网络技术
  • 电脑网络

相关推荐

正在加载...

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):