各位好。
本人最近在看《Effective C#》,其中Item40提到“优先选择DataSet,而不要自定义结构”,提到普通DataSet的一个不好的地方是需要硬编码的方式才能访问DataSet中某一张表中的某一行记录,然后说是用强类型DataSet可以解决这个问题。
我平时对强类型DataSet接触的非常少,向各位请教一下,在什么场合应该使用强类型DataSet,有什么使用限制,MSDN上给出的解释比较泛泛,我想深入了解一下。
另外,我看强类型DataSet在使用时,可以按照属性的方式来访问表中的记录,这让我想到了ORM,想请教一下,在什么情况下,是ORM不能解决,而只能依靠强类型DatSet呢?
欢迎大家能一起讨论一下这个问题。
先谢了!
其实弱类型是更加抽象,适用更广,而强类型则是把类型检查放到编译时,而不是运行时,可以减少类型上处理的错误,微软.net和Visual Studio的原则是让编程工作更加简单,但是实际应用中,最不稳定的就是数据结构。所以个人觉得还是具体问题具体分析,在我实际项目中,用ORM更加多一些,或者是Entlib。
个人认为不好,Dataset是.NET的类型,不利于抽象,影响可扩展性,大型项目的话,分层开发,对上层来说你提供的dataset不明确,
个人觉得不好,实际运行中速度比弱类型的要慢,而且不灵活。
一楼所言极是,个人认为强类型可以在编译时报错是最主要的目的,其次是可以将数据对象化,增加可读性。
我目前使用LINQ to Entity这个类ORM的解决方案。