Получить Linq Group в пользовательский тип - PullRequest
1 голос
/ 28 декабря 2011

Я работаю над проектом ac # и пишу запрос LINQ, в этом запросе мне нужно создать группу, но я знаю, что хочу использовать этот тип группы, но тип группы доставляет мне некоторые проблемы, поскольку я самне могу привести его к желаемому типу.

Мой запрос

from emp in employees
join dept in departments
on emp.EmpID equals dept.EmpID
group dept by dept.EmpID into groupSet
select new mycustomType
{
    Department = groupSet
});

1 Ответ

0 голосов
/ 28 декабря 2011

Вы не показали подпись ни одного из ваших типов.Мы можем только догадываться, как может выглядеть ваш желаемый тип.В следующий раз, когда вы зададите вопрос, обязательно укажите SSCCE .

В любом случае, в соответствии с вашим примером, вот как должен выглядеть этот пользовательский тип:

public class MyCustomType
{
    public IGrouping<int, Department> Department { get; set; }
}

Department - это тип элементов в коллекции departments, и предполагается, что EmpID имеет целочисленный тип.

Пример:

IEnumerable<Employee> employees = ...
IEnumerable<Department> departments = ...

IEnumerable<MyCustomType> result = 
    from emp in employees
    join dept in departments
    on emp.EmpID equals dept.EmpID
    group dept by dept.EmpID into groupSet
    select new MyCustomType
    {
        Department = groupSet
    };
...