[英]IGrouping<anonymous type:, string> does not contain a definition for '' and no extension method ''
目標 :按2列分組
錯誤 :這將導致錯誤IGrouping不包含“ Sub_ID”的定義,並且沒有擴展方法“ SubID”接受IGrouping類型的第一個參數
代碼 :
return db.View.Where(m => m.Mem_ID == Some_MemID && m.Last_Name.ToLower() == Search_MemLastName.ToLower()).GroupBy(t => new { t.Sub_ID, t.Mem_Seq }).OrderBy(t => t.Subs_ID);
我也嘗試添加.key,但這沒有幫助。 沒有在不更改其類型的情況下如何訂購IGrouping找到解決方案? 或IGrouping不包含以下定義
看着這個已經好幾個小時了
您正在對組進行排序,並且必須通過Key
來訪問分組的屬性:
.OrderBy(t => t.Key.Subs_ID)
編輯:如果只想通過Sub_ID
顯示不同的元素,請添加.Select(x => x.First())以僅選擇每個組的頂部結果:
return db.View
.Where(m => m.Mem_ID == Some_MemID && m.Last_Name.ToLower() == Search_MemLastName.ToLower())
.GroupBy(t => new { t.Sub_ID, t.Mem_Seq })
.OrderBy(g => g.Key.Subs_ID)
.Select(g => g.First());
使用GroupBy
您可以將IQueryable<T>
轉換為IGrouping<TKey, T>
。 最后的Select
是降低分組回單元素。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.