在Linq扩展方法中,GROUP INTO相当于什么?

时间:2014-06-19 14:14:34

标签: linq

这就是我过滤和分组 transTasks 的方式。

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

现在我有了新的要求。根据具体情况,我可以按 RangeName TaskOrderId 进行过滤。

这就是我将上述Linq代码转换为以下内容的原因;

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

我已经研究过,但我仍然无法找到扩展方法的组到的等价物。我需要对那些transTasks进行分组,因为在另一个循环中有一个循环。

感谢您的帮助

2 个答案:

答案 0 :(得分:3)

GroupBy是等价的,似乎你已经弄明白了,你在方法语法中的查询将是:

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

作为旁注,查询表达式中的任何LINQ查询都会编译为方法语法。

答案 1 :(得分:1)

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