我在DAL层写了public DataSet SelAll()
        {
            StringBuilder sb = new StringBuilder("select * from two");
            return dbh.getDS(sb.ToString());
        }
返回的是dataset
然后我要在BLL层 返回的是 list 请问如何转换呢

解决方案 »

  1.   

    public IList<T> GetList<T>(DataTable table)
      {
      IList<T> list = new List<T>();
      T t = default(T);
      PropertyInfo[] propertypes = null;
      string tempName = string.Empty;
      foreach (DataRow row in table.Rows)
      {
      t = Activator.CreateInstance<T>();
      propertypes = t.GetType().GetProperties();
      foreach (PropertyInfo pro in propertypes)
      {
      tempName = pro.Name;
      if (table.Columns.Contains(tempName))
      {
      object value = row[tempName];
      pro.SetValue(t, value, null);
      }
      }
      list.Add(t);
      }
      return list;
      }
      

  2.   

    public IList<Model.User> GetList()
    {
        Ilist<Model.User> ilist = List<Model.User>();
        StringBuilder sb = new StringBuilder("select * from two");
        dataset ds = dbh.getDS(sb.ToString());
        for(int i=0;i<ds.rows.count;i++)
        {
           Model.User model = new Model.User();
           model.UserID=ds.rows[i][0];
           model.UserName = ds.rows[i][1];
           ....
           ilist.add(model);
        }
        ds.close();
        ds.dispose();
        return ilist
    }
      

  3.   

    晕哦,你既然要用list,干嘛不直接装在list里面,装一次 datatable干什么?
      

  4.   

    有什么好晕的 我也知道装list里  看清问题 我是要知道怎么转换这个过程