首页 新闻 会员 周边 捐助

.NET中的强类型DataSet有什么用?

0
悬赏园豆:10 [已解决问题] 解决于 2010-02-23 22:34

各位好。

本人最近在看《Effective C#》,其中Item40提到“优先选择DataSet,而不要自定义结构”,提到普通DataSet的一个不好的地方是需要硬编码的方式才能访问DataSet中某一张表中的某一行记录,然后说是用强类型DataSet可以解决这个问题。

我平时对强类型DataSet接触的非常少,向各位请教一下,在什么场合应该使用强类型DataSet,有什么使用限制,MSDN上给出的解释比较泛泛,我想深入了解一下。

另外,我看强类型DataSet在使用时,可以按照属性的方式来访问表中的记录,这让我想到了ORM,想请教一下,在什么情况下,是ORM不能解决,而只能依靠强类型DatSet呢?

欢迎大家能一起讨论一下这个问题。

先谢了!

李潘的主页 李潘 | 菜鸟二级 | 园豆:319
提问于:2010-02-23 00:11
< >
分享
最佳答案
0

其实弱类型是更加抽象,适用更广,而强类型则是把类型检查放到编译时,而不是运行时,可以减少类型上处理的错误,微软.net和Visual Studio的原则是让编程工作更加简单,但是实际应用中,最不稳定的就是数据结构。所以个人觉得还是具体问题具体分析,在我实际项目中,用ORM更加多一些,或者是Entlib。

收获园豆:10
查尔斯 | 老鸟四级 |园豆:3832 | 2010-02-23 01:29
其他回答(3)
0

个人认为不好,Dataset是.NET的类型,不利于抽象,影响可扩展性,大型项目的话,分层开发,对上层来说你提供的dataset不明确,

Virus-BeautyCode | 园豆:1619 (小虾三级) | 2010-02-23 08:50
0

个人觉得不好,实际运行中速度比弱类型的要慢,而且不灵活。

棋圣 | 园豆:197 (初学一级) | 2010-02-23 09:24
0

一楼所言极是,个人认为强类型可以在编译时报错是最主要的目的,其次是可以将数据对象化,增加可读性。

我目前使用LINQ to Entity这个类ORM的解决方案。

风海迷沙 | 园豆:4453 (老鸟四级) | 2010-02-23 12:30
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册