C# DataTable转ListModel通用类
生活随笔
收集整理的這篇文章主要介紹了
C# DataTable转ListModel通用类
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
///?<summary>
///?DataTable轉換為List<Model>
///?</summary>
public?static?class?DataTableToListModel<T>?where?T?:?new()
{
????public?static?IList<T>?ConvertToModel(DataTable?dt)
????{
????????//定義集合
????????IList<T>?ts?=?new?List<T>();
????????T?t?=?new?T();
????????string?tempName?=?"";
? ? ? ? //獲取此模型的公共屬性
? ? ? ? PropertyInfo[]?propertys?=?t.GetType().GetProperties();
? ? ? ? ?foreach?(DataRow?row?in?dt.Rows)
????????{? ? ? ? ?
? ? ? ? ? ??t?=?new?T();
????????????foreach?(PropertyInfo?pi?in?propertys)
????????????{
????????????????tempName?=?pi.Name;
????????????????//檢查DataTable是否包含此列
????????????????if?(dt.Columns.Contains(tempName))
????????????????{
????????????????????//判斷此屬性是否有set
????????????????????if?(!pi.CanWrite)
????????????????????????continue;
????????????????????object?value?=?row[tempName];
????????????????????if?(value?!=?DBNull.Value)
????????????????????????pi.SetValue(t,?value,?null);
????????????????}
????????????}
????????????ts.Add(t);
????????}
????????return?ts;
????}
} 與50位技術專家面對面20年技術見證,附贈技術全景圖
///?DataTable轉換為List<Model>
///?</summary>
public?static?class?DataTableToListModel<T>?where?T?:?new()
{
????public?static?IList<T>?ConvertToModel(DataTable?dt)
????{
????????//定義集合
????????IList<T>?ts?=?new?List<T>();
????????T?t?=?new?T();
????????string?tempName?=?"";
? ? ? ? //獲取此模型的公共屬性
? ? ? ? PropertyInfo[]?propertys?=?t.GetType().GetProperties();
? ? ? ? ?foreach?(DataRow?row?in?dt.Rows)
????????{? ? ? ? ?
? ? ? ? ? ??t?=?new?T();
????????????foreach?(PropertyInfo?pi?in?propertys)
????????????{
????????????????tempName?=?pi.Name;
????????????????//檢查DataTable是否包含此列
????????????????if?(dt.Columns.Contains(tempName))
????????????????{
????????????????????//判斷此屬性是否有set
????????????????????if?(!pi.CanWrite)
????????????????????????continue;
????????????????????object?value?=?row[tempName];
????????????????????if?(value?!=?DBNull.Value)
????????????????????????pi.SetValue(t,?value,?null);
????????????????}
????????????}
????????????ts.Add(t);
????????}
????????return?ts;
????}
} 與50位技術專家面對面20年技術見證,附贈技術全景圖
總結
以上是生活随笔為你收集整理的C# DataTable转ListModel通用类的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LoadRunner学习第四天——检查点
- 下一篇: 【转】DE2_TV例程的几点说明