我如何从linq到数据集查询得到min

时间:2009-07-27 12:14:39

标签: c# linq asp.net-3.5

您好我在下面有一个linq查询

  

var Free =(来自中的行)   dt.AsEnumerable()                           其中row.Field(“AppointmentType”)   ==“FreeTime”                           选择新的{row.Field(“BookedDate”)                                        row.Field( “走”)})。MIN()

我想要做的是在travelTime字段上有一个最小值,我不确定如何做到这一点我已经在谷歌和msdn网站上看了但我似乎无法使它的头部或尾部

有没有人有任何想法?

非常感谢

1 个答案:

答案 0 :(得分:4)

您可以使用Enumerable.Min()的重载:

var Free = (
  from row in dt.AsEnumerable()
  where row.Field("AppointmentType") == "FreeTime"
  select new {
    BookedDate = row.Field("BookedDate"),
    TravelTime = row.Field("TravelTime")
  }
).Min(x => x.TravelTime);

实际上,没有必要查看BookedDate,而应该使用

var Free = (
  from row in dt.AsEnumerable()
  where row.Field("AppointmentType") == "FreeTime"
  select row.Field("TravelTime")
).Min();

我保留了原始代码并进行了一些修改,以演示创建匿名类型的语法。