类型化数据集与非类型化数据集

原创 2011年10月13日 20:45:31
 类型化数据集与非类型化数据集

类型化数据集先是从基类   DataSet   派生,然后使用“数据集设计器”中的信息(存储在   .xsd   文件中)生成一个新的强类型数据集类。架构中的信息(表、列等)被作为一组第一类对象和属性生成并编译为此新数据集类。由于类型化数据集继承自基   DataSet   类,因此类型化类具有   DataSet   类的所有功能,可以与采用   DataSet   类的实例作为参数的方法一起使用。  

相形之下,非类型化数据集没有相应的内置架构。与类型化数据集一样,非类型化数据集也包含表、列等,但它们只作为集合公开。(不过,在手动创建了非类型化数据集中的表和其他数据元素后,可以使用数据集的   WriteXmlSchema   方法将数据集的结构导出为一个架构。)


对比类型化和非类型化数据集中的数据访问
类型化数据集的类有一个对象模型,在此对象模型中该类的属性采用表和列的实际名称。例如,如果使用的是类型化数据集,可以使用如下代码引用列:

//   This   accesses   the   CustomerID   column   in   the   first   row   of   the   Customers   table.
string   customerIDValue   =   northwindDataSet.Customers[0].CustomerID;
相比较而言,如果使用的是非类型化数据集,等效的代码为:

string   customerIDValue   =   (string)
        dataset1.Tables[ "Customers "].Rows[0][ "CustomerID "];

类型化访问不但更易于读取,而且完全受   Visual   Studio“代码编辑器”中   IntelliSense   的支持。除了更易于使用外,类型化数据集的语法还在编译时提供类型检查,从而大大降低了为数据集成员赋值时发生错误的可能性。如果更改   DataSet   中的列名并编译应用程序,则会收到生成错误。通过双击“任务列表”中的生成错误,可以直接转到引用旧列名的代码行。在运行时对类型化数据集中的表和列的访问也略为快一些,因为访问是在编译时确定的,而不是在运行时通过集合确定。

尽管类型化数据集有许多优点,但在许多情况下需要使用非类型化数据集。最显而易见的情形是数据集无架构可用。例如,当应用程序正在与返回数据集的组件交互而您事先不知道其结构是哪种时,便会出现这种情况。同样,有些时候使用的数据不具有静态的可预知结构,这种情况下使用类型化数据集是不切实际的做法,因为对于数据结构中的每个更改,您都必须重新生成类型化数据集类。

更常见的是,许多时候可能需要动态创建无可用架构的数据集。这种情况下,数据集只是一种方便的、可用来保留信息的结构(只要数据可以用关系方法表示)。同时,您还可以利用数据集的功能,如序列化传递到另一进程的信息或写出   XML   文件的能力。

网络安全测试软件internet scanner学习笔记(1)

内容:What is Internet Scanner?Internet Scanner provides automated security vulnerability detection and...
  • acehq
  • acehq
  • 2001-05-23 10:26:00
  • 753

非类型化数据集和类型数据集

类型化数据集就是具有内置架构的强类型DataSet... 非类型化数据集就是没有内置架构的DataSet... 类型化数据集是对象集合... 而非类型化数据集只是一些二维表... DataS...
  • guozh90
  • guozh90
  • 2011-10-13 21:03:38
  • 1835

类型化数据集与非类型化数据集

类型化数据集与非类型化数据集     数据集可以类型化或非类型化。类型化数据集这样一种数据集,它先从基   DataSet   类派生,然后使用   XML   架构文件(.xsd   文件)中的信息...
  • qiwenwzc
  • qiwenwzc
  • 2006-08-28 12:47:00
  • 1185

类型化数据集应用实例

  • 2009年02月01日 15:20
  • 85KB
  • 下载

C#强类型数据集的多数据库应用

之前项目有人提出用强类型数据集会比较好用,因为XXXX(各种优点,详情百度),后来遇到一些当时无法解决的问题则没有再去研究。 问题1:VS2010中的数据连接没有找到mysql的数据连接选项 ...
  • kikaylee
  • kikaylee
  • 2014-01-08 08:46:20
  • 1350

类型化的数据集和非类型化数据完成增删改查的操作

using System; using System.Collections.Generic; using System.Linq; using System.Web; using Syste...
  • C979170768
  • C979170768
  • 2011-10-13 16:34:07
  • 440

数据集的使用方法和技巧

  • 2008年01月01日 10:42
  • 199KB
  • 下载

使用类型化数据集访问数据信息

  • 2007年12月14日 09:18
  • 133KB
  • 下载

自定义实体介绍

  • 2008年03月18日 09:25
  • 214KB
  • 下载

(原创,开源)高灵活度,高适用性,高性能,轻量级的 ORM 实现

我需要的不是一个与数据库表映射的ORM,而是需要一个与内存数据集动态映射的ORM。...
  • iccb1013
  • iccb1013
  • 2015-06-05 14:54:39
  • 1227
收藏助手
不良信息举报
您举报文章:类型化数据集与非类型化数据集
举报原因:
原因补充:

(最多只允许输入30个字)