本案例提供了:把DataRow轉換為單個實體、dataTable轉換為List泛型支持時間格式轉換。
下文的方法都是擴展方法。擴展方法要求寫在靜態類中,方法也要靜態。
1.將DataRow轉換為實體
T ToModel<T>( DataRow dr) T : , ToModel<T>(dr,
2.將DataRow轉換為實體可設置時間格式轉換
T ToModel<T>( DataRow dr, dateTimeToString) T : , (dr != ToList<T>
3.將DataTable轉換為實體
List<T> ToList<T>( DataTable dt, dateTimeToString) T : , <T> list = List<T> (dt != <PropertyInfo> infos = List<PropertyInfo><PropertyInfo>((T).GetProperties(), p => (dt.Columns.Contains(p.Name) == <T>
4.轉換實現代碼
SetList<T>(List<T> list, List<PropertyInfo> infos, DataTable dt, dateTimeToString) T : , (DataRow dr = => (dr[p.Name] != DBNull.Value) tempValue = (dr[p.Name].GetType() == (DateTime) && dateTimeToString == ) =); }