在Effective C#的"DataSet优于自定结构"那个Way有点看法,我认为DataSet很囊肿,因于引用的类大多,这样对性能有负面影响。在MS的 Pet Shop 4中使用业务实体数据模型Data Model(这算'自定义'结构吧),在IList加泛型的支持下,结构很清晰了,性能方面出色点吧!
        但业务实体模型也有不足的地方,当数据要改变,例如数据库表新增一个字段,与该表对应的业务实体就要增加一个属性。那么得重新编译。还可能对引用该业务实例的代码更改。这样伸缩性就不好了。
        如果是你选择的话,你会用那种方法。或者有这个两方法之外的更好方法???

解决方案 »

  1.   

    DataSet的优势不是对数据的表现。它的优势是包含多张“Table",并可以像关系数据库一样,给表和表之间做关联,给"字段"做约束。同时可以映射数据库。记录数据记录的状态“添加、修改、删除”,方便做排序、查询、过滤。
    这些都是其它对象无法比拟的。如果你在程序中使用了dataset那么你的工作量将会成倍的缩短。
      

  2.   

    sison说的是一个原因,但在大访问量的情况下,dataset用的资源太多了。