Обзор LINQ

Оценить
(0 голоса)

Как обсуждалось в главе 5, LINQ — это сокращение от Language Integrated Query (встроен­ный язык запросов). Это компонент .NET Framework 3.5, который добавляет объектам .NET способность выполнять запросы типа запросов SQL. Точнее говоря, он расширяет основные .NET-языки (Visual Basic и С#) и исполняющую среду таким образом, чтобы уничтожить

этот барьер между объектом и объектом базы данных. Языки Visual Basic и C# поддержи­вают новые операторы запросов, которые работают с объектами аналогично тому, как SQL работает с таблицами базы данных.

Например, вы можете запросить все объекты утвержденных счетов следующим образом:

var approved = from invoice in invoices

where (invoice.Approved) == true select invoice;

foreach (Invoice invoice in approved)

{

// Что-то здесь делаем

}

А исполняющая среда имеет поддержку для физической трансляции объектов и методов в эквивалентные им объекты базы данных (в основном при помощи использования атрибутов кода, как вы скоро увидите) и обратно. Вот простой пример метода класса, спроецированно­го на хранимую процедуру SQL Server:

[Function (Name="HR. uspDeleteEmployee") ]

public int uspDeleteEmployee([Parameter(Name="EmployeeID", DbType="Int")]

System.Nullable<int> employeelD)

{

IExecuteResult result = this.ExecuteMethodCall(this,

((Methodlnfo)(Methodlnfo.GetCurrentMethod())), employeelD); return ((int)(result.ReturnValue));

}

LINQ имеет несколько разновидностей, причем каждая нацелена на конкретную проблему проецирования:

□    LINQ to SQL — позволяет вам проецировать объекты на объекты баз данных;

□    LINQ to XML — позволяет вам делать запросы к XML-документам и проецировать объ­екты на элементы XML-документов;

□    LINK to Objects — позволяет писать запросы по коллекциям объектов (как в нашем пре­дыдущем примере с утвержденными счетами).

LINQ — это очень обширная технология и ее подробное описание выходит за рамки данной книги. Однако мы изучим основной инструмент Visual Studio, который используется для создания приложений с использованием LINQ для SQL: конструктор O/R Designer.

Проецирование при помощи конструктора O/R Designer

Первый шаг создания приложения LINQ для SQL обычно представляет собой конструиро­вание объектной модели, которая основана на определении базы данных. Именно это и яв­ляется задачей O/R Designer: он позволяет вам выбрать базу данных и сгенерировать объ­ектную модель, которая соответствует структуре базы данных. В табл. 18.3 показано, как компоненты базы данных проецируются на компоненты объекта.

Таблица 18.3. Соответствия по умолчанию между базой данных и объектами

Добавление объектов базы данных
Код LINQ
Работаем с объектами LINQ
Резюме
Пять различных инструментов Visual Studio

Добавить комментарий


Защитный код
Обновить

© 2017 www.visualstudios.ru. Все права защищены.