我們在做一些crud類的專案開發的時候,經常會涉及到datatable型別與實體型別互轉的操作,過去我們也許會通過反射將表填充到實體的方式來實現,但其實我們可以利用json很便捷的實現該轉換,主要通過newtonsoft.json.linq.jarray提供的方法進行中轉,如下:
過去通過反射取屬性與值進行填充的互換方法可參考 的例子,例子**如下:using system;
using system.collections.generic;
using system.data;
using system.reflection;
namespace commonsd
else
}/// /// 填充物件列表:用dataset的第index個表填充實體類
///
public listfillmodel(dataset ds, int index)
else
}/// /// 填充物件列表:用datatable填充實體類
///
public listfillmodel(datatable dt)
listmodellist = new list();
foreach (datarow dr in dt.rows)
modellist.add(model);
}return modellist;
}/// /// 填充物件:用datarow填充實體類
///
public t fillmodel(datarow dr)
//t model = (t)activator.createinstance(typeof(t));
t model = new t();
for (int i = 0; i < dr.table.columns.count; i++)
return model;
}#endregion
#region 實體類轉換成datatable
/// /// 實體類轉換成dataset
///
/// 實體類列表
///
public dataset filldataset(listmodellist)
else
}/// /// 實體類轉換成datatable
///
/// 實體類列表
///
public datatable filldatatable(listmodellist)
datatable dt = createdata(modellist[0]);
foreach (t model in modellist)
dt.rows.add(datarow);
}return dt;
}/// /// 根據實體類得到表結構
///
/// 實體類
///
private datatable createdata(t model)
return datatable;
}#endregion
}}
DataTable與實體類互相轉換
datatable與實體類互相轉換 實體類 public class modelhandlerwhere t new else 填充物件列表 用dataset的第index個表填充實體類 public listfillmodel dataset ds,int index else 填充物件列表 用d...
DataTable與實體類互相轉換
datatable與實體類互相轉換 datatable與實體類互相轉換 實體類 public class modelhandlerwhere t new else 填充物件列表 用dataset的第index個表填充實體類 public listfillmodel dataset ds,int in...
實體類和DataTable的轉換
最近在專案中在資料庫查詢的時間,總是要用到資料表到實體類物件列表的轉化,自己封裝了乙個轉換的方法,用起來還比較方便,記下來,以後可以重複使用,原理就主要是利用反射,當然有更好的orm框架可以實現,主要的原因就是我這裡沒有用orm。資料表轉換類 public class dbtableconverto...