类型化数据集与非类型化数据集  
  数据集可以类型化或非类型化。类型化数据集这样一种数据集,它先从基   DataSet   类派生,然后使用   XML   架构文件(.xsd   文件)中的信息生成新类。架构中的信息(表、列等)被作为一组第一类对象和属性生成并编译为此新数据集类。  
  因为类型化   DataSet   类从基   DataSet   类继承,所以此类型化类承接   DataSet   类的所有功能,并且可与将   DataSet   类的实例作为参数的方法一起使用。  
   
  相形之下,非类型化数据集没有相应的内置架构。与类型化数据集一样,非类型化数据集也包含表、列等,但它们只作为集合公开。(不过,手动创建了表和非类型化数据集中的其他数据元素后,可以使用数据集的   WriteXmlSchema   方法将数据集的结构导出为架构。)  
   
  在应用程序中可以使用这两种类型中的任何一种。不过,Visual   Studio   对类型化数据集有更多工具支持,并且,类型化数据集使对数据集的编程更简单且不易出错。  
   
   
   
  类型化访问不但更易于读取,而且完全受   Visual   Studio   代码编辑器中智能感知的支持。除了更易于使用外,类型化数据集的语法还在编译时提供类型检查,从而大大降低了为数据集成员赋值时发生错误的可能性。在运行时对类型化数据集中的表和列的访问也略为快一些,因为访问是在编译时确定的,而不是在运行时通过集合确定。  
   
  尽管类型化数据集有许多优点,但在许多情况下需要使用非类型化数据集。最显而易见的情形是数据集无架构可用。例如,当应用程序正在与返回数据集的组件交互而您事先不知道其结构是哪种时,便会出现这种情况。同样,有些时候使用的数据不具有静态的可预知结构,这种情况下使用类型化数据集是不切实际的做法,因为对于数据结构中的每个更改,您都必须重新生成类型化数据集类。  
   
  更常见的是,许多时候可能需要动态创建无可用架构的数据集。这种情况下,数据集只是一种方便的、可用来保留信息的结构(只要数据可以用关系方法表示)。 

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1132015

posted on 2007-05-22 18:42  MainIsUsed  阅读(794)  评论(0编辑  收藏  举报