1
一行分鐘我怎樣才能改變這種方法,因此也只有在下面一行用它返回最大值(t.StartTime)和Min(t.StartTime)?獲得最大的+與LINQ
public IQueryable<Timetable> GetTimetables()
{
return from t in _entities.Timetables
select t;
}
/M
一行分鐘我怎樣才能改變這種方法,因此也只有在下面一行用它返回最大值(t.StartTime)和Min(t.StartTime)?獲得最大的+與LINQ
public IQueryable<Timetable> GetTimetables()
{
return from t in _entities.Timetables
select t;
}
/M
了我的頭頂部(讀:未經測試)並假設StartTime是不可空的:
public class TimetableWithMaxMin
{
public Timetable Timetable { get; set; }
public DateTime Max { get; set; }
public DateTime Min { get; set; }
}
public IQueryable<TimetableWithMaxMin> GetTimetables()
{
return from t in _entities.Timetables
select new TimetableWithMaxMin
{
Timetable = t,
Max = _entities.Timetables.Max(t => t.StartTime),
Min = _entities.Timetables.Min(t => t.StartTime)
};
}
當StartTime爲nulla時,這會變得相當複雜BLE。
我不知道這是否適用於實體框架,但使用LINQ它像這樣
public IQueryable<Timetable> GetTimetables()
{
return from t in _entities.Timetables
select new {maxt = Max(t.StartTime), mint = Min(t.StartTime)};
}
好像有一些語法問題 – 2009-11-10 13:29:44
他忘了't =>',就像't => t.StartTime'一樣。請參閱http://msdn.microsoft.com/en-us/vcsharp/aa336747.aspx#maxSimple – 2009-11-10 14:10:31
t =>用於lambda表達式,類似於GetTimeTables()。Select(t => new {maxt = Max (t.StartTime),mint = Min(t.StartTime)}) – Omu 2009-11-10 15:02:32