Dynamic转DataTable

 

可以使用下面的方法转

public static DataTable ToDataTable(dynamic items)
{
DataTable dtDataTable = new DataTable();
if (items.Count == 0)
return dtDataTable;

((IEnumerable)items[0]).Cast<dynamic>().Select(p => p.Name).ToList().ForEach(col => { dtDataTable.Columns.Add(col); });

((IEnumerable)items).Cast<dynamic>().ToList().
ForEach(data =>
{
DataRow dr = dtDataTable.NewRow();
((IEnumerable)data).Cast<dynamic>().ToList().ForEach(Col => { dr[Col.Name] = Col.Value; });
dtDataTable.Rows.Add(dr);
});
return dtDataTable;
}

 

也可以使用Json序列化,反序列化转,但是会存在OOM的问题。

posted @ 2022-04-25 15:45  chyshx  阅读(533)  评论(0编辑  收藏  举报