0
我一直在這一段時間。我有一個類似的再次發生密鑰和序列的數據集:從包含使用Linq lambda的多個記錄的視圖的最大序列
id status sequence
1 open 1
1 processing 2
2 open 1
2 processing 2
2 closed 3
一個新行添加了對每發生「動作」,所以各種IDS可以有可變序列。我需要爲每個ID獲取最大序列號,但我仍然需要返回完整的記錄。
我想與序列2結束了對1號和序列3 ID 2
我似乎無法得到這個而不選擇不同的ID,然後通過循環的結果工作,訂貨值,然後將第一個項目添加到另一個列表中,但這很慢。
var ids = this.ObjectContext.TNTP_FILE_MONITORING.Select(i => i.FILE_EVENT_ID).Distinct();
List<TNTP_FILE_MONITORING> vals = new List<TNTP_FILE_MONITORING>();
foreach (var item in items)
{
vals.Add(this.ObjectContext.TNTP_FILE_MONITORING.Where(mfe => ids.Contains(mfe.FILE_EVENT_ID)).OrderByDescending(mfe => mfe.FILE_EVENT_SEQ).First<TNTP_FILE_MONITORING>());
}
必須有更好的方法!
嘗試了你的建議,但它不起作用,因爲這是一款ria/silverlight應用程序,顯然它不喜歡First()方法,並說它是最終的。我被ObjectContext包裝器弄糊塗了。 – Robert 2011-01-28 07:19:47