日期:2014-05-18  浏览次数:20943 次

强类型DataSet不也要将数据库中的数据转成DataTable中的属性么,区别何在呢?
比如有各ProductDataTable,实现了Name属性,price属性,。。。。
在这些属性的内部实现上,不也要将数据库提取出来的数据转成C#的类型么?比如Name=(String)DataTable.Rows[0].Columns[2];
这和直接DataTable.Row[0].Columns[2]有何区别呢?还是我不懂强类型的含义?

------解决方案--------------------
DataTable.Rows[0].Columns[2]得到的是object类型,你要赋给一个字符串当然要转换啊

------解决方案--------------------
速度不会快,但是强类型可以避免一些使用中的错误,使用时类型不需要自己转换了。
------解决方案--------------------
DataSet没必要使用强类型,弱类型即可,得来也方便,而强类型应该直接自定义类来实现——实体类。网上很多说法都是过时的说法,现在有一种新的说法,强类型越简单越好,这样通用性就强,而强类型数据集DataSet是在对弱类型的DataSet的扩展,其本身内部结构相当复杂,使用起来也不方便,因此早已被淘汰,无人使用了。强类型只要最简单的GET、SET操作即可,也可以对Set操作添加一些验证功能,都是可以自己设置的,越简单的类型,越是可以自己控制。