我知道泛型集合在某些方面 比DataTable(DataSet)好,但在数据源用dataTable还是泛型集合好?同事说用泛型集合好,但我觉得用泛型集合在某些情况下不方便:
1.数据源用List<VO>,如果项目没有这种VO,就得先构造这种VO类型,麻烦啊
2.从DataReader或者DataAdapter拿到的数据源转化成VO,这个过程麻烦又损性能,
大家是怎样看的

解决方案 »

  1.   

    操作方便:DataTable
    访问方便:EntityList数据量不大性能无所谓。DataTable属性更多,属性多的肯定更耗内存了。
    转换肯定是要转换的,填充DataTable也是要转换的
      

  2.   

    每一样东西都不可能是完美的,各有各的好处和缺点,如果完全能够被另外一种更先进的代替,那么这个东东就会被淘汰了。
    不过要测试datatable和List在某个领域的优劣,lz可以自己动手写程序测试下。
    datatable中的rows也是一个集合。
      

  3.   

    在我的大多数BLL工程中,对System.Data.DLL引用都被删除了!
      

  4.   

    如果你嫌转换麻烦,直接DataTable,也没什么了.如果是使用了一些ORM框架,那肯定是首选List<T>.
      

  5.   

    速度 DataReader > (DataReader + IList) >DataSet 
    泛型使用比较多
      

  6.   

    按需索取那就是 泛型
    不管什么全部取出来 就用 datatable(有很多不需要的信息 也加载)
      

  7.   

    如果dataReader读取的数据是字符型可以用,list<string> str=new list<string>();
    如果是整形,比如查询多个ID,可以用list<int>in=new list<int>();不用去创建啊,list泛型还是挺好的额,我觉得。