比方說,我有一個表,看起來像這樣:請LINQ查詢幫助。選擇最近的記錄每個FK
Id CheckboxId Selected DateCreated
1 1 1 1/1/2010
2 2 1 1/2/2010
3 1 0 1/3/2010
4 3 1 1/4/2010
5 3 0 1/5/2010
CheckboxId是一個FK和表只是當複選框被選中或取消選中的歷史。
我想得到的是每個CheckboxId的最新記錄。在我的演示表的情況下,我想要2,3和5行。你會怎麼做到這一點?此外,我確信這在查詢開始時與「where」一樣容易,但是如果它也可以被修改爲僅在特定日期之前獲得記錄,那將是非常棒的。
我很難弄清楚如何編寫查詢來在SQL中執行此操作,並且它使得無法進行鏈接查詢。我相信它必須是從不同checkboxIds的子查詢中選擇出來的,但是我的SQL並不是那麼好。
非常感謝您的幫助。
有趣。我明天會玩,看看我能做些什麼。 – William 2011-03-03 23:19:02
這基本上是我最終做的。我在另一個LINQ語法中寫了它,因爲我更喜歡它。所以我最後的查詢結果是:var myItems = context.Source.Where(x => x.DateCreated x.CheckboxId).Select(grp => grp.OrderByDescending(x => x .DateCreated).FirstOrDefault())這也返回我的「源」項目,而不是匿名數據類型,這對我來說似乎更好,因爲我可以想到沒有什麼好的理由。 –
William
2011-03-04 22:16:50
也可以。 – 2011-03-07 01:10:14