有什么方法可以将LINQ表达式的结果转换为DataTable
,而无需单步执行每个元素?
最佳答案
不,没有逐步浏览每个元素的方法就无法创建它。 Linq表达式在需要时进行评估,因此它将逐步遍历每一行(用于匹配和选择)。
我认为您应该尝试使用DataTable.Select()
(MSDN link)方法代替,因为它返回的DataRow
对象数组可以按如下方式添加到新表中:
var rows = [ORIGINAL DATA TABLE].Select("id>5");
var dtb=[ORIGINAL DATA TABLE].Clone();
foreach(DataRow r in rows)
{
var newRow = dtb.NewRow();
newRow.ItemArray = r.ItemArray;
dtb.Rows.Add(newRow);//I'm doubtful if you need to call this or not
}