什么叫强类型的DataSet ? 最近在学ADO.NET,DataSet、DataTable、等都学了,该学强类型的DataSet,请问,什么叫强类型的DataSet ?不太懂哦 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 “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你可以随时根据需要进行操作(比如添加字段,删除字段等)。” 也称为强类型定义语言。一种总是强制类型定义的语言,要求变量的使用要严格符合定义,所有变量都必须先定义后使用。java、.NET、python、C++等都是强制类型定义的。也就是说,一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么它就永远是这个数据类型了。 例如你有一个整数,如果不显式地进行转换,你不能将其视为一个字符串。 与其相对应的是弱类型语言:数据类型可以被忽略的语言。它与强类型定义语言相反, 一个变量可以赋不同数据类型的值。 类型化的DataSet好难哦,你们是都学了非类型化的DataSet和类型化的DataSet呢?都用了呢?还是只学了一个? 我就觉得强类型dataset挺多余的,既然要强类型,声明一个类不是更好? 传说中的LINQ to DataSet是不是针对类型化DataSet用的?如果是,LINQ to DataSet好像还是一本专门的书哦,如果是这样,我不想学类型化DataSet了,就用非类型化的DataSet。行不? 与其复制粘贴网上的代码,不如直接简化下说明:其实强类型的DataSet就是让你可以通过属性来访问每个列的内容,当中的转换由内部完成,你可以当作自己在使用实体类,而它又具有DataSet的一般功能,是为了弥补DataSet不足而产生的一个妥协的方案,实际使用很少,因为跨平台受限制。 C#如何获取局域网内在线主机的IP 求个Mp3播放器的代码 简单问题请教 愚翁大哥:帮我看看C#串口通讯方面的一个PC通讯协议 在web.config中,怎么给一文件夹,设置访问权限。 帮我看一下,兄弟姐妹们!(在线等) 事件触发问题 是关于asp用vb打包成dll一个错误 高手来指导一下 请问:在C#中如何扩展公用对话框 怎么把数据加到数据库中去? c# 中listview保存读写数据问题 PDF417条码加入中文
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你可以随时根据需要进行操作(比如添加字段,删除字段等)。”
例如你有一个整数,如果不显式地进行转换,你不能将其视为一个字符串。
与其相对应的是弱类型语言:数据类型可以被忽略的语言。它与强类型定义语言相反, 一个变量可以赋不同数据类型的值。
你们是都学了非类型化的DataSet和类型化的DataSet呢?都用了呢?
还是只学了一个?
是不是针对类型化DataSet用的?
如果是,LINQ to DataSet好像还是一本专门的书哦,如果是这样,我不想学类型化DataSet了,
就用非类型化的DataSet。
行不?
其实强类型的DataSet就是让你可以通过属性来访问每个列的内容,当中的转换由内部完成,你可以当作自己在使用实体类,而它又具有DataSet的一般功能,是为了弥补DataSet不足而产生的一个妥协的方案,实际使用很少,因为跨平台受限制。