Остановка LINQ от запроса наборов сущностей (и группировки) - PullRequest
0 голосов
/ 18 декабря 2008

Это краткое описание моей БД. У вас есть выпуски , которые имеют категории . У меня есть различные запросы, в которых возникают проблемы на основе всевозможных критериев, но это не важно для вопроса.

Я хочу иметь возможность взять список вопросов, которые я запрашивал, скажем, например, которые произошли вчера, и сгруппировать их по категориям.

У меня есть метод:

public static IEnumerable<Category> GroupIssuesByCategory(IEnumerable<Issue> issues)
{
    return from i in issues
        group i by i.Category into c
        select c.key
}

Категория имеет хорошее отображение, которое позволяет ей перечислять проблемы внутри нее. Это отлично подходит для того, что я хочу, но в этом сценарии будут устранены все проблемы в этой категории, а не проблемы из предоставленного мною набора. Как мне обойти это?

Могу ли я обойти это?


Я понял, почему мой исходный код не компилировался, и обновил вопрос.

Увы, у меня все еще есть моя главная проблема.

1 Ответ

0 голосов
/ 18 декабря 2008

Я не уверен насчет второй части вопроса, но ваша проблема компиляции заключается в том, что возвращаемый тип группировки - IEnumerable<IGrouping<Category, Issue>>, и я думаю, что вы хотите вернуть этот метод. Кроме того, вам на самом деле не нужен бит into c select c - это полезно, только если вы хотите выполнить некоторую обработку результата группировки, чтобы получить другой список.

IGrouping<S,T> имеет ключевое свойство, которое является значением Category и равно IEnumerable<T>, чтобы дать вам список Issues в этом Category.

Попробуйте это как ваш метод:

public static IEnumerable<IGrouping<Category, Issue>> GroupIssuesByCategory(IEnumerable<Issue> issues)
{
    return from i in issues
        group i by i.Category;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...