Fastest way to convert datatable to generic list

后端 未结 6 729
逝去的感伤
逝去的感伤 2020-12-01 15:30

I have a data tier select method that returns a datatable. It\'s called from a business tier method that should then return a strongly typed generic List.

What I wa

6条回答
  •  甜味超标
    2020-12-01 15:56

    public partial class issuereceive_manageroffice_bal
    {
        public int issue_id{get;set;}
        public string process{get;set;}
        public DateTime issue_date{get;set;}
        public TimeSpan issue_time{get;set;}
        public string eg_no{get;set;}
        public string lotno{get;set;}
        public string clarity{get;set;}
        public string sieves{get;set;}
        public string shape{get;set;}
        public double issue_carat{get;set;}
        public int issue_pieces{get;set;}
        public int receive_pieces{get;set;}
        public double receive_carat{get;set;}
        public int kp_pieces{get;set;}
        public decimal kp_carat{get;set;}
        public double loss{get;set;}
        public string issue_manager{get;set;}
        public string issue_by{get;set;}
        public string receive_by{get;set;}
        public int status{get;set;}
        public DateTime receive_date{get;set;}
        public string receive_time{get;set;}
        public int factory_id{get;set;}
    
    }
    
    
    List issue_receive_list = new List();
    issue_receive_list =
          (from DataRow dr in DataTable.Rows
          select new issuereceive_manageroffice_bal()
               {
                   issue_id = 0,
                   issue_time = TimeSpan.Parse("0"),
                   receive_time = null,
                   shape = null,
                   process = dr["process"].ToString(),
                   issue_date = Convert.ToDateTime(dr["issue_date"]),
                   eg_no = dr["eg_no"].ToString(),
                   lotno = dr["lotno"].ToString(),
                   clarity = dr["clarity"].ToString(),
                   sieves = dr["sieves"].ToString(),
                   issue_carat = dr["issue_carat"].ToString() != "" ? double.Parse(dr["issue_carat"].ToString()) : 0,
                   issue_pieces = dr["issue_pieces"].ToString() != "" ? int.Parse(dr["issue_pieces"].ToString()) : 0,
                   receive_carat = dr["receive_carat"].ToString() != "" ? double.Parse(dr["receive_carat"].ToString()) : 0,
                   kp_pieces = dr["kp_pieces"].ToString() != "" ? int.Parse(dr["kp_pieces"].ToString()) : 0,
                   kp_carat = dr["kp_carat"].ToString() != "" ? decimal.Parse(dr["kp_carat"].ToString()) : 0,
                   loss = dr["loss"].ToString() != "" ? double.Parse(dr["loss"].ToString()) : 0,
                   issue_manager = dr["lotno"].ToString(),
                   issue_by = dr["issue_by"].ToString(),
                   receive_by = dr["receive_by"].ToString(),
                   status = dr["status"].ToString() != "" ? int.Parse(dr["status"].ToString()) : 0,
                   receive_date = Convert.ToDateTime(dr["receive_date"]),
                   factory_id = dr["factory_id"].ToString() != "" ? int.Parse(dr["factory_id"].ToString()) : 0,
    
               }).ToList();
    

提交回复
热议问题