LINQ – недостающее звено в разработке баз данных

Новая технология Microsoft под названием Language Integrated Query (LINQ) дает программистам возможность устанавливать доступ к базе данных и источникам XML данных посредством расширений запросов, добавленных Microsoft в .NET Framework. LINQ закрывает одну из крупнейших брешей, существующих в сегодняшней модели разработки баз данных.

По сложившейся на настоящий момент практике разработчики баз данных, пользуясь объектно-ориентированным языком, таким как C# или Visual Basic .NET (VB.NET), создают клиентское приложение и объекты обработки бизнес данных, которые существуют на уровне данных, а ADO.NET является промежуточным программным обеспечением доступа к данным, которое соединяет приложение с базой данных. Однако, когда коду ADO.NET в ядре этих программ необходимо обратиться к базе данных, программист должен выйти за рамки объектно-ориентированной разработки Visual Studio (VS) и сконструировать запрос SQL, который отправляется на сервер. Компилятор в данном случае не может гарантировать разработчикам, что они работали с правильными таблицами или столбцами базы данных. Он даже не может проверить корректность синтаксиса запроса, поскольку запрос реально не исполняется, пока приложение работает.

Эта проблема решается в новой технологии LINQ путем реализации привязки объекта к базе данных и предоставления набора операторов, которые позволяют разработчику создавать запросы к базе данных непосредственно в коде .NET. Операторы, подобные операторам SQL, поддерживают извлечение данных, а также операции вставки, обновления и удаления – например, в LINQ имеются инструкции Select, Where и OrderBy. В этом первоначальном релизе оператор Select должен появляться в конце выражения в программах на C#, но в программах на VB оператор Select появляется привычно в начале.

Для облегчения процесса привязки базы данных к объекту, ранние бета-версии LINQ содержали инструмент, который мог генерировать таблицы и классы базы данных на основе объектов в целевой базе данных. LINQ не обладает совершенным механизмом привязки одной или нескольких реляционных таблиц к объектам обработки бизнес-данных, больше того, он создает простую связь один-к-одному между реляционными таблицами и программными объектами. Важно понимать следующее: несмотря на то, что LINQ воплощает новую модель разработки баз данных, эта технология не является полной заменой ADO.NET. Фактически LINQ использует ADO.NET, а приложение может извлечь пользу как от одной, так и от другой технологии. Несмотря на наличие объектно-ориентированного интерфейса для обращения к базе данных, по сути, как вы, наверное, догадались, LINQ по-прежнему направляет запросы SQL на сервер базы данных.

Хотя LINQ позиционируется как инструмент, способный сильно изменить будущую разработку для баз данных, нынешняя его версия являет собой только раннюю стадию развития. Подобно провайдерам данных ADO.NET, провайдеры LINQ используют открытую архитектуру, что позволяет сторонним поставщикам баз данных создавать провайдеры, которые работают со стандартом LINQ. Однако в настоящий момент LINQ работает только с SQL Server и не работает с Oracle и IBM DB2. Также, первоначальный выпуск запускается только на стороне клиента. Ясно, что следующим логичным шагом для LINQ стала бы возможность исполняться на сервере в среде управления на Common Language Runtime (CLR).

Для разработчиков для баз данных LINQ, пожалуй, самая значительная смена парадигмы с момента прихода ODBC. LINQ устраняет разрыв между приложением и базой данных и обеспечивает полностью объектно-ориентированный доступ к базе данных. Дополнительная информация о проекте LINQ – на сайте http://msdn.microsoft.com/netframework/future/ linq/default.aspx.

Источник: OSP.ru



Опубликовал admin
27 Апр, Четверг 2006г.



Программирование для чайников.