`

IList转换成DataSet

 
阅读更多

public class IlistToDataSet
{
/// <summary>
/// Ilist<T> 转换成 DataSet
/// </summary>
/// <param name="list"></param>
/// <returns></returns>
public static DataSet ConvertToDataSet<T>(IList<T> list)
{
if (list == null || list.Count <= 0)
{
return null;
}

DataSet ds = new DataSet();
DataTable dt = new DataTable(typeof(T).Name);
DataColumn column;
DataRow row;

System.Reflection.PropertyInfo[] myPropertyInfo = typeof(T).GetProperties(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance);

foreach (T t in list)
{
if (t == null)
{
continue;
}

row = dt.NewRow();

for (int i = 0, j = myPropertyInfo.Length; i < j; i++)
{
System.Reflection.PropertyInfo pi = myPropertyInfo[i];

string name = pi.Name;

if (dt.Columns[name] == null)
{
column = new DataColumn(name, pi.PropertyType);
dt.Columns.Add(column);
}

row[name] = pi.GetValue(t, null);
}

dt.Rows.Add(row);
}

ds.Tables.Add(dt);

return ds;
}
}

分享到:
评论

相关推荐

    List转换成DataSet实现代码

    代码如下: /// &lt;summary&gt; /// List转换成DataSet /// &lt;/summary&gt; /// ”T”&gt;类型&lt;/typeparam&gt; /// ”list”&gt;将要转换的List&lt;/param&gt; /// &lt;returns&gt;&lt;/returns&gt; public DataSet ConvertToDataSet(IList&lt;T&gt; list) { if ...

    Silverlight兼容dataset全部三个组件

    Wcf端可用DataSetConnector将ADO.NET DataSet转换成xml字符串或Byte[]数组,传递到Silverlight端后可用DataSetConnector将xml字符串或Byte[]数组转换成Silverlight.DataTable,然后可进一步转换成可绑定到Silverlight ...

    C#中任意类型数据转成JSON格式

    List转成json public static string ListToJson(IList&lt;T&gt; list, string jsonName) { StringBuilder Json = new StringBuilder(); if (string.IsNullOrEmpty(jsonName)) jsonName = list[0].GetType().Name; ...

    Silverlight.DataSetConnector

    Wcf端可用DataSetConnector将ADO.NET DataSet转换成xml字符串或Byte[]数组,传递到Silverlight端后可用DataSetConnector将xml字符串或Byte[]数组转换成Silverlight.DataTable,然后可进一步转换成可绑定到Silverlight ...

    asp.net面试试题收集

    3.datagrid.datasouse可以连接什么数据源 [dataset,datatable,dataview] &lt;br&gt;dataset,datatable,dataview , IList &lt;br&gt;4.概述反射和序列化 &lt;br&gt;反射:程序集包含模块,而模块包含类型,类型又包含成员。反射...

    ORM及代码生成器和插件C#源码(DBFrameworkV4.5.3)

    1、数据表、视图和存储过程与对象之间的转换。 2、数据表、视图的自定义条件查询。 3、数据表、视图的分页查询。 4、根据ID、主键或自定义条件对数据表进行增、删、改操作。 5、实现一对一、一对多、多对一和多对多...

    ORM及代码生成器C#源码(最新版V4.5.8.5、非常适于ASP.NET MVC)

    1、数据表、视图和存储过程与对象之间的转换。 2、数据表、视图的自定义条件查询。 3、数据表、视图的分页查询。 4、根据ID、主键或自定义条件对数据表进行增、删、改操作。 5、实现一对一、一对多、多对一和多对多...

    ORM及代码生成器C#源码(2012最新版Kenly.DBFramework4.6.5.5)

    1、数据表、视图和存储过程与对象之间的转换。 2、数据表、视图的自定义条件查询。 3、数据表、视图的分页查询。 4、根据ID、主键或自定义条件对数据表进行增、删、改操作。 5、实现一对一、一对多、多对一和多...

    国内最全的.net面试题目

    dataset,datatable,dataview , IList 4.概述反射和序列化 反射:程序集包含模块,而模块包含类型,类型又包含成员。反射则提供了封装程序集、模块和类型的对象。您可以使用反射动态地创建类型的实例,将类型绑定到...

    asp.net面试题

    dataset,datatable,dataview , IList 4.概述反射和序列化 反射:程序集包含模块,而模块包含类型,类型又包含成员。反射则提供了封装程序集、模块和类型的对象。您可以使用反射动态地创建类型的实例,将类型绑定到...

    【。net 专业】 面试题

    dataset,datatable,dataview , IList 4.概述反射和序列化 反射:程序集包含模块,而模块包含类型,类型又包含成员。反射则提供了封装程序集、模块和类型的对象。您可以使用反射动态地创建类型的实例,将类型绑定到...

Global site tag (gtag.js) - Google Analytics