0
讓我首先承認,我可能沒有正確地問這個問題,因爲我意識到你不能正確使用GroupBy
的DateTime
值,但我一直在Objective-C工作四年,而且我還沒有非常使用LINQ。這裏是我當前的代碼:如何通過枚舉和日期將LINQ to Entities結果分組?
var filteredEvents = events.Where(e => e.EventDate < DateTimeOffset.Now.AddMonths(1)).GroupBy(e => e.EventStatusKey);
在這段代碼,events
是一個匿名類型包括四個字段,包括EventDate
(DateTime
)和EventStatusKey
(enum
)的一個IEnumerable
。
目前,上面的代碼返回兩組事件狀態Ready
和InProgress
。不過,我還需要根據日期分解Ready
事件。具體來說,我需要Ready
比賽時,不同的組:
EventDate >= DateTime.Date.Today
和
EventDate < DateTime.Date.Today
。
我曾使用過匿名類型(是嗎?)爲GroupBy lambda,但我不明白,每個組件實際上是創建一個新的密鑰。看起來很明顯,但我真的很感謝你的幫助。 –
@WilliamSmith不是問題,樂意幫忙。是的,它的確在創建一個匿名對象。它的工作原理是,現在匿名對象現在是一個鍵 - 而匿名對象實現'.Equals()'和'.GetHashCode()',以便兩個具有相同屬性的不同對象被視爲相等 – Rob