2009-07-27 33 views
0

嗨,我有以下我如何從一個LINQ拿到分鐘集查詢

VAR免費=(從 dt.AsEnumerable() 其中row.Field(「AppointmentType」行LINQ查詢) == 「休閒時光」 選擇新{row.Field( 「BookedDate」) row.Field( 「旅行」)})。MIN()

我想要做的是有一個最低的travelTime字段和即時消息不知道如何做到這一點我已經看過谷歌,也在米sdn網站,但我似乎無法使頭或尾巴

有沒有人有任何想法?

非常感謝

+0

我替換了標籤C#3.5,因爲沒有這種東西。目前的版本號是CLR 2.0,C#3.0,.NET 3.5 – 2009-07-27 12:19:02

回答

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(); 

我不停您的原始代碼進行一些修改以演示創建匿名類型的語法。

+0

謝謝你對此的幫助,已經插入你的建議並且它可以工作 – kevinw 2009-07-27 13:28:32