Стандартные операторы запроса с LINQ

ОГЛАВЛЕНИЕ

Язык LINQ позволяет разработчикам включать в код Microsoft® .NET Framework 3.5 SQL-подобные запросы, используя строго типизированный синтаксис. Различные поставщиеи LINQ, в частности методы «LINQ — объекты» (позволяет писать запросы по иерархии объектов) и «LINQ — сущности» (позволяет писать запросы по концептуальной модели Entity Framework), в таком случае способны эффективно обрабатывать запросы, учитывая особенности хранилищ данных.

Кроме строго типизированного синтаксиса запросы LINQ имеют в своем арсенале большое количество стандартных операторов, расширяющих функциональность запросов. Стандартные операторы применяются к последовательности и позволяют, к примеру, определить, входит ли данное значение в последовательность, или выполнить над членами последовательности какую-либо операцию, скажем сложение.

В этом выпуске мы на практике рассмотрим выполнение запросов и операций при помощи LINQ, как в методе «LINQ — объекты», так и в методе «LINQ — сущности». Запросы будут выполняться по одной коллекции сущностей. При перемещении по иерархии будут использоваться навигационные свойства сущностей. Мы также коснемся порядка применения различных стандартных операторов к массивам и коллекциям. Мы продемонстрируем, как можно дополнить стандартные ооператоры LINQ лямбда-выражениями и как их использовать для анализа информации, имеющейся в последовательности, и для выполнения сложных логических операций над ее членами. Все примеры кода можно загрузить (см. msdn.microsoft.com/msdnmag/code08.aspx).