将DataTable数据转换成List泛型数据

这里有一个实体类:

    public class Menuss
    {
        public int Id { get; set; }
        public string Text { get; set; }
        public int Fid { get; set; }
    }
 一般我们都是用DataTable返回数据
string sql = string.Format(" select Menuid as id,Menuname as text,fid from Menuss  ");
            DataTable dt = SqlHelper.GetTable(sql); 
当我们需要List<>泛型的时候,又不想用SqlDataReader来读取数据添加到list泛型里面
就可以用下来的方式来解决:
public static  List<Menuss> Menus()
        {
            List<Menuss>list=new List<Menuss>();
            string sql = string.Format(" select Menuid as id,Menuname as text,fid from Menuss  ");
            DataTable dt = SqlHelper.GetTable(sql);
            
            list = (from DataRow dr in dt.Rows
                select new Menuss
                {
                    Id = Convert.ToInt32(dr["Id"].ToString()),
                    Text = dr["Text"].ToString(),
                    Fid = Convert.ToInt32(dr["Fid"].ToString())
 
                }).ToList();
            return list;
        } 
posted @ 2017-02-12 14:20  智取  阅读(1400)  评论(0编辑  收藏  举报