Поделиться через


Использование LINQ в Visual Basic Express

Обновлен: Ноябрь 2007

В приложениях часто используются данные из баз данных SQL или XML-документов. В связи с этим разработчику приходится изучать дополнительные языки, такие как SQL или XQuery, для работы с данными. В LINQ (Language-Integrated Query) поддерживается возможность работы с запросами в среде Visual Basic, что избавляет от необходимости изучения дополнительных языков. Теперь можно реализовывать запросы баз данных SQL, наборов данных ADO.NET, XML-документов и любых классов коллекций .NET Framework, реализующих интерфейс IEnumerable, на базе текущих знаний Visual Basic и нескольких дополнительных ключевых слов и основных понятий.

Преимущества использования LINQ

  • Знакомый синтаксис для написания запросов.

  • Проверка ошибок синтаксиса и типизации при компиляции.

  • Улучшенная поддержка отладчика.

  • Поддержка IntelliSense.

  • Возможность напрямую работать с XML-элементами вместо создания контейнера XML-документа, что необходимо при использовании объектной модели документа (DOM) W3C.

  • Изменение XML-документа в памяти, что является более простым и эффективным инструментом, чем XPath или XQuery.

  • Эффективные функции фильтрации, сортировки и группировки.

  • Согласованная модель для работы с источниками данных различных типов и форматов.

Написание запросов LINQ

Базовая структура запроса LINQ та же, что и при работе с наборами данных ADO.NET, базами данных SQL, коллекциями .NET Framework или XML-документами. Выражение запроса начинается с предложения From, за которым следуют другие элементы запроса, например Where и Select. В переменной запроса хранится полное выражение запроса, который может быть выполнен или изменен любое количество раз. Синтаксис выражения запроса напоминает синтаксис SQL. Например, можно использовать следующий синтаксис для записи запроса LINQ, возвращающего всех студентов из базы данных студентов, для которых поле "Major" имеет значение "Science":

Dim StudentQuery = From student in studentApp.students 
    Where student.Major = "Science" _
    Select student

Дополнительные сведения см. в разделах Запросы (Visual Basic) и Написание первого запроса LINQ (Visual Basic).

Существует три основных этапа запроса LINQ. Получение источника данных, определение выражения запроса и выполнение запроса. Дополнительные сведения см. в разделе Написание первого запроса LINQ (Visual Basic).

LINQ to Objects

Термин LINQ to Objects связан с использованием LINQ для запроса структур данных в памяти, поддерживающих IEnumerable. Дополнительные сведения см. в разделе LINQ to Objects.

LINQ to SQL

Используйте LINQ to SQL для доступа к базам данных SQL Server и SQL Server Express на уровне строго типизированных объектов, создаваемых с помощью Сред. Объектно-реляционный конструктор.

Можно использовать реляционный конструктор объектов для сопоставления классов LINQ to SQL с таблицами базы данных и последующего написания запросов LINQ для привязки данных к элементам управления в приложении. Например, следующий запрос LINQ привязывает результаты запроса LINQ (все клиенты из США) к источнику привязки элемента управления DataGridView.

Dim CustomersQuery = From customers in NorthwindSampleDataContext1.Customers _
    Where customers.Country = "US" _
    Select customers

CustomerBindingSource.DataSource = CustomersQuery

Дополнительные сведения см. в разделах LINQ to SQL, Общие сведения о реляционном конструкторе объектов, Создание LINQ для классов SQL: использование конструктора O/R и Использование LINQ для привязки данных к элементам управления.

Bb531268.alert_note(ru-ru,VS.90).gifПримечание.

Сред. Объектно-реляционный конструктор в данный момент не поддерживает базы данных SQL Server Compact 3.5. Сведения о получении программы SQL Server, экспресс-выпуск содержатся в разделе "Получение SQL Server, экспресс-выпуск" раздела Практическое руководство. Установка образцов баз данных.

LINQ to DataSet

DataSet используется для привязки данных к элементам управления в приложении. Вместо непосредственного подключения к базе данных можно использовать DataSet для создания автономного кэша данных, который может включать подмножества нескольких источников данных, которые будут использоваться в приложении. Когда приложение переводится в интерактивный режим, база данных может обновляться посредством изменения DataSet.

LINQ to DataSet выполняет запросы кэшированных данных быстрее и легче, чем методы фильтрации и сортировки, доступные для DataSet. Дополнительные сведения см. в разделе LINQ to DataSet.

LINQ to XML

LINQ to XML позволяет легко создавать и изменять XML-документы с помощью выражений запросов LINQ вместо использования XPath и XQuery. LINQ to XML представляет собой новый API-интерфейс в памяти для XML, использующий современные конструкции программирования вместо W3C DOM. Дополнительные сведения см. в разделах Общие сведения о LINQ to XML в Visual Basic, Непосредственное включение XML в программный код. Использование XML-литералов и Оси, интегрированные в Visual Basic (LINQ to XML).

См. также

Основные понятия

Приступая к работе (LINQ to SQL)

Другие ресурсы

Приступая к работе с LINQ в Visual Basic

Приступая к работе (LINQ to DataSet)

Приступая к работе (LINQ to XML)