簡體   English   中英

分組 <anonymous type:, string> 不包含“”的定義,也沒有擴展方法“”

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM