所以,我知道我很生疏,但我從來沒有想過,儘管花了數小時嘗試不同的解決方案,這將是如此困難。我試圖從每個組中選擇最新的記錄,然後刪除特定的子句並將其綁定到網格。具有基本沒有運氣......這是我離開的:LINQ:從每個羣組中選擇最新的
var widgets = db.Updates
.GroupBy(c => c.widgetType)
.SelectMany(s => s)
.Where(c => c.Sold.Equals(false))
.OrderByDescending(x => x.TimeStamp)
.FirstOrDefault();
var list = new List<Update>() {widgets};
widgetsGrid.DataSource = list;
widgetsGrid.DataBind();
我加入劇組列出,因爲我得到一個數據類型的錯誤,目前它只返回的所有記錄中的最後一項,而比每個組的最後一個項目。
在此先感謝您的幫助!
非常感謝@艾哈邁德·易卜拉欣......但仍然行不通。當我按照你的代碼運行你的代碼時,我又會得到一個數據類型異常,所以我添加了一個「ToList」,並且仍然只獲取最後一條記錄,而不是每個組的最後一條記錄。我現在有: VAR部件= db.Updates .GroupBy(C => c.widgetType) 。凡(C => c.Sold.Equals(假)) 。選擇(X => x.OrderByDescending( y => y.TimeStamp).First()); var list = new List(){widgets}; –
PaulBinCT2
'var list = widgets.ToList()'應該可以很好地工作..你不能使用新的列表 {widgets};' –
再次感謝,@Ahmad ...我非常感激butttttttttttt ...我試過了使用ToList()和我得到一個「未知的方法」的錯誤,我似乎記得閱讀是在這種情況下的LINQ的特性。 我絕不會相信這是如此難以實現:( – PaulBinCT2