Linq按DateTime字段对数据表进行排序

时间:2011-01-28 20:31:23

标签: linq

如何使用Linq对DataTable进行排序?我尝试了以下但收到错误: InvalidCastException未被用户代码取消激活。不允许指定演员。

var query = from c in allFiles.AsEnumerable() orderby c.Field<DateTime>(1) 
descending select c;

2 个答案:

答案 0 :(得分:1)

这表明,对于至少某些行,字段1不是DateTime。如果它可能为null,您可能需要尝试DateTime?。或者首先检查它是否真的是那个字段......也许使用名称而不是数字?

答案 1 :(得分:1)

该表是动态生成的,没有实际指定的列dataType。当我创建列并指定dataType时,问题已解决。

我不确定为什么在发布此问题之后我才意识到dataType没有定义。