Можете ли вы упростить этот запрос linq-to-entity groupBy? - PullRequest
2 голосов
/ 25 августа 2011
 List<int> types = Hospitals.GroupBy(h => h.TypeId, (key, group) => group.First())
                    .Select(t=> y.TypeId).ToList();

Попытка получить отличные идентификаторы типа от List<Hospital> объектов. Я не эксперт по этим запросам linq и просто хочу знать, есть ли лучший способ сделать это.

1 Ответ

5 голосов
/ 25 августа 2011

Если вам нужны только отдельные поля TypeId, это намного проще, чем это:

var types = Hospitals.Select(h => h.TypeId).Distinct();

Просто примечание к вашему исходному запросу: я часто нахожу, что синтаксис метода этих операций менее читабелен, чем понимание запроса. Конечно, все сводится к личному стилю, но до сих пор я не думаю, что когда-либо писал GroupBy () или Join () в синтаксисе метода; для меня это течет лучше:

var types = from h in Hospitals
            group h by h.TypeId into types
            select types.Key;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...