2014-06-19 50 views
1

這就是我如何過濾和分組transTasksLinq擴展方法中GROUP INTO的等價物是什麼?

var transTasks = from t in taskData 
       where t.RangeName == rName 
       group t by t.CultureID into g 
       select new { language = g.Key, tasks = g }; 

現在我有了一個新的要求。根據條件,我可能會過濾RangeNameTaskOrderId

這就是爲什麼我已經將上面的Linq代碼轉換爲以下代碼;

var transTasks = taskData 
       .Where(predicate) 
       .GroupBy(???) 
       .Select(???); 

我研究過,但我仍然不能找到團當量爲的擴展方法。我需要將這些transTasks分組,因爲在另一個循環內有一個循環。

感謝您的幫助

+0

'GroupBy'是等價的,似乎你已經弄明白了。 – Habib

+0

我知道這是舊的,但理查德77尋找的是GroupJoin的擴展語法嗎? – Shawn

回答

3

GroupBy是等價的,看來你已經想通了,你的方法語法查詢是:

var transTrasks = taskData.Where(t => t.RangeName == rName) 
          .GroupBy(t => t.CultureID) 
          .Select(g => new { language = g.Key, tasks = g }); 

作爲一個側面說明,任何查詢表達式中的LINQ查詢編譯爲方法語法。

1
var transTasks = taskData 
      .Where(predicate) 
      .GroupBy(t => t.CultureID) 
      .Select(g => new { language = g.Key, tasks = g }); 
相關問題