奇怪的问题,基本上我正在使用AsEnumerable()方法然后使用LINQ查询创建一个DataTable。
但是,我不知道此DataTable有多少行或列,并且我需要选择所有项数组元素,是否有任何方法可以在其中循环从ItemArray [0]到ItemArray [ItemArray.lenth-1] LINQ查询?这是我发现可以绑定到MVC网格的唯一方法,因此,如果有更好的方法,我想知道!
下面是我想做的一种伪代码。任何帮助将是巨大的!
var model = from t in table.AsEnumerable().AsQueryable()
select new
{
for (i = 0 to ItemArray.length)
{
t.ItemArray[i]
}
}
最佳答案
使用SelectMany()
:
var items = table.AsEnumerable().SelectMany(row=>row.ItemArray);
您还可以按行对项目进行分组:
var items = from row in dt.AsEnumerable()
from item in row.ItemArray
group new {item} by row;