Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Запросы LINQ






Аббревиатура LINQ означает Language-Integrated Query, т.е. язык интегрированных запросов

Это новшество языка, внедрение LINQ стало поворотным моментом в истории развития С#.

Это понятие охватывает ряд средств, позволяющих извлекать информацию из ис­точника данных.

Как вам должно быть известно, извлечение данных составляет важную часть многих программ. Напри­мер, программа может получать информацию из списка заказчиков, искать информацию в каталоге продукции или получать доступ к учетному документу, заведенному на ра­ ботника. Как правило, такая информация хранится в базе данных, существующей отдельно от приложения. Так, ката­ лог продукции может храниться в реляционной базе дан­ных. В прошлом для взаимодействия с такой базой данных приходилось формировать запросы на языке структуриро­ванных запросов (SQL). А для доступа к другим источникам данных, например в формате XML, требовался отдельный подход. Следовательно, до версии 3.0 поддержка подобных запросов в C# отсутствовала. Но это положение изменилось после внедрения LINQ.

LINQ дополняет C# средствами, позволяющими форми­ ровать запросы для любого LINQ-совместимого источника данных. При этом синтаксис, используемый для формирования запросов, остается не­ изменным, независимо от типа источника данных. Это, в частности, означает, что син­ таксис, требующийся для формирования запроса к реляционной базе данных, прак­ тически ничем не отличается от синтаксиса запроса данных, хранящихся в массиве. Для этой цели теперь не нужно прибегать к средствам SQL или другого внешнего по отношению к C# механизма извлечения данных из источника. Возможности формиро­ вать запросы отныне полностью интегрированы в язык С#.

Помимо SQL, LINQ можно использовать вместе с XML-файлами и наборами дан­ ных ADO.NET Dataset. Не менее важным является применение LINQ вместе с масси­ вами и коллекциями в C# (подробнее рассматриваемыми в главе 25). Таким образом, средства LINQ предоставляют, в целом, единообразный доступ к данным. И хотя такой принцип уже сам по себе является весьма эффективным и новаторским, преимуще­ ства LINQ этим не ограничиваются. LINQ предлагает осмыслить иначе и подойти по- другому к решению многих видов задач программирования, помимо традиционной организации доступа к базам данных. И в конечном итоге многие решения могут быть выработаны на основе LINQ.

LINQ поддерживается целым рядом взаимосвязанных средств, включая внедренный в C# синтаксис запросов, лямбда-выражения, анонимные типы и методы расширения. О лямбда-выражениях речь уже шла в главе 15, а остальные средства рассматриваются в этой главе.

ПРИМЕЧАНИЕ LINQ в C# — это, по сути, язык в языке. Поэтому предмет рассмотрения LINQ довольно обширен и включает в себя многие средства, возможности и альтернативы. Несмотря на то что в этой главе дается подробное описание средств LINQ, рассмотреть здесь все их воз­ можности, особенности и области применения просто невозможно. Для этого потребовалась бы отдельная книга. В связи с этим в настоящей главе основное внимание уделяется глав­ ным элементам LINQ, применение которых демонстрируется на многочисленных примерах. А в долгосрочной перспективе LINQ представляет собой подсистему, которую придется изу­ чать самостоятельно и достаточно подробно.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.