如何将IEnumerable <datacolumn>转换为Datatable?</datacolumn>

时间:2011-04-06 18:14:25

标签: linq datatable

我明白了:

var dsetValueFields = rds.Result.Columns.Cast<DataColumn>().Where(c=>c.DataType==typeof(Decimal));

需要转换为DataTable。试过这个:

DataTable dt = new DataTable();
dt.Columns.AddRange(dsetValueFields.ToArray());

但是得到错误,“列是另一个表的一部分。”

谢谢!

1 个答案:

答案 0 :(得分:0)

您需要在枚举中创建列的副本。与DataRow s类似,DataColumn只能附加到一个表格。

dt.Columns.AddRange(dsetValueFields
                   .Select(c => new DataColumn(c.Name, c.DataType))
                   .ToArray());