最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#中DataSet轉(zhuǎn)化為實(shí)體集合類的方法

 更新時間:2014年10月28日 16:06:52   投稿:shichen2014  
這篇文章主要介紹了C#中DataSet轉(zhuǎn)化為實(shí)體集合類的方法,是非常實(shí)用的技巧,需要的朋友可以參考下

本文實(shí)例講述了C#中DataSet轉(zhuǎn)化為實(shí)體集合類的方法,分享給大家供大家參考。具體實(shí)現(xiàn)方法如下:

復(fù)制代碼 代碼如下:
/// <summary>
/// DataSet轉(zhuǎn)換為實(shí)體類
/// </summary>
/// <typeparam name="T">實(shí)體類</typeparam>
/// <param name="p_DataSet">DataSet</param>
/// <param name="p_TableIndex">待轉(zhuǎn)換數(shù)據(jù)表索引</param>
/// <returns>實(shí)體類</returns>
public static T DataSetToEntity<T>(DataSet p_DataSet, int p_TableIndex)
{
    if (p_DataSet == null || p_DataSet.Tables.Count < 0)
 return default(T);
    if (p_TableIndex > p_DataSet.Tables.Count - 1)
 return default(T);
    if (p_TableIndex < 0)
 p_TableIndex = 0;
    if (p_DataSet.Tables[p_TableIndex].Rows.Count <= 0)
 return default(T);

    DataRow p_Data = p_DataSet.Tables[p_TableIndex].Rows[0];
    // 返回值初始化
    T _t = (T)Activator.CreateInstance(typeof(T));
    PropertyInfo[] propertys = _t.GetType().GetProperties();
    foreach (PropertyInfo pi in propertys)
    {
 if (p_DataSet.Tables[p_TableIndex].Columns.IndexOf(pi.Name.ToUpper()) != -1 && p_Data[pi.Name.ToUpper()] != DBNull.Value)
 {
     pi.SetValue(_t, p_Data[pi.Name.ToUpper()], null);
 }
 else
 {
     pi.SetValue(_t, null, null);
 }
    }
    return _t;
}

/// <summary>
/// DataSet轉(zhuǎn)換為實(shí)體列表
/// </summary>
/// <typeparam name="T">實(shí)體類</typeparam>
/// <param name="p_DataSet">DataSet</param>
/// <param name="p_TableIndex">待轉(zhuǎn)換數(shù)據(jù)表索引</param>
/// <returns>實(shí)體類列表</returns>
public static IList<T> DataSetToEntityList<T>(DataSet p_DataSet, int p_TableIndex)
{
    if (p_DataSet == null || p_DataSet.Tables.Count < 0)
 return default(IList<T>);
    if (p_TableIndex > p_DataSet.Tables.Count - 1)
 return default(IList<T>);
    if (p_TableIndex < 0)
 p_TableIndex = 0;
    if (p_DataSet.Tables[p_TableIndex].Rows.Count <= 0)
 return default(IList<T>);

    DataTable p_Data = p_DataSet.Tables[p_TableIndex];
    // 返回值初始化
    IList<T> result = new List<T>();
    for (int j = 0; j < p_Data.Rows.Count; j++)
    {
 T _t = (T)Activator.CreateInstance(typeof(T));
 PropertyInfo[] propertys = _t.GetType().GetProperties();
 foreach (PropertyInfo pi in propertys)
 {
     if (p_Data.Columns.IndexOf(pi.Name.ToUpper()) != -1 && p_Data.Rows[j][pi.Name.ToUpper()] != DBNull.Value)
     {
  pi.SetValue(_t, p_Data.Rows[j][pi.Name.ToUpper()], null);
     }
     else
     {
  pi.SetValue(_t, null, null);
     }
 }
 result.Add(_t);
    }
    return result;
}

希望本文所述對大家的C#程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評論

海晏县| 镇沅| 堆龙德庆县| 武平县| 鹤岗市| 黄山市| 静乐县| 揭东县| 孟连| 安图县| 太谷县| 沽源县| 平顺县| 汾阳市| 芷江| 绥棱县| 集安市| 武安市| 抚宁县| 饶平县| 洱源县| 博客| 从江县| 建宁县| 灌南县| 于田县| 灵山县| 若尔盖县| 九龙县| 余江县| 永吉县| 林周县| 台安县| 乌鲁木齐县| 苍山县| 大冶市| 鲜城| 岱山县| 富顺县| 遵化市| 乌拉特前旗|