将DataSet转换成强类型集合

最近用到杨涛老师("陕西吴旗娃")写的一个asp.net mvc 分页控件 里面的类是用的List<T>实现的

我一般是在多表联合查询场景下使用这个

我想到了2种思路:

<1> 将动态Sql查询出来的结果 形成一个实体对象集合(好处是:强类型  坏处是:比较麻烦 )

       其实也不是很麻烦  用代码生成器将一个视图 形成一个实体类 也就是一会儿的事情

      有的时候 sql语法可能很麻烦 视图可能解决不了? 

                 那就生成了临时表 也可以生成实体类

<2> 将查询出来的DataSet 作为结果集合使用 这就需要将DataSet转换成可以枚举的集合

DataTable myProducts = ds.Tables["Products"];

DataView view = myProducts.AsDataView();

//Query

IEnumerable viewQuery = from myView in view.Table.AsEnumerable() select myView;

foreach (DataRow myDataRow in viewQuery)

{

 Console.WriteLine(myDataRow.Field("ProductName"));

} .

IEnumerable <DataRow>

补充:2011年3月18日9:24:37

刚才经过试验 还是不知道怎么讲Dataset传进去 还是使用将动态查询结果赋值给一个实体类吧(一个视图或者临时表形成的)

posted @ 2011-03-17 20:56  郑文亮  阅读(608)  评论(0编辑  收藏  举报