Linq DataTable和Take Method

时间:2011-12-12 13:39:34

标签: c# asp.net linq take

我从数据表中使用Linq:

  var query = dt.AsEnumerable();
query = dt.AsEnumerable().Where(log => log.Field<byte>("Day") == day).Take(10);

以下错误:

  

无法隐式转换类型   'System.Collections.Generic.IEnumerable<System.Data.DataRow>'来   'System.Data.EnumerableRowCollection<System.Data.DataRow>'。一个   存在显式转换(您是否错过了演员?)

我尝试过(10) - 请你指教一下吗?

1 个答案:

答案 0 :(得分:3)

错误肯定是指向该行吗?如果你尝试过,我希望你能得到它:

var query = dt.AsEnumerable();
query = query.Where(log => log.Field<byte>("Day") == day).Take(10);

在这种情况下,您可以通过将query的类型更改为明确IEnumerable<DataRow>来修复此问题。

(如果问题,请给我们更多背景信息。一个简短而完整的方法展示手头的问题会有所帮助。)