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


Практическое руководство. Вызов хранимой процедуры с помощью LINQ (Visual Basic)

Интегрированный язык запросов (LINQ) позволяет легко получать доступ к сведениям базы данных, в том числе к объектам, например, хранимым процедурам.

Ниже приведен пример способа создания приложения, вызывающего хранимую процедуру в базе данных SQL Server.В примере показано, как вызвать две различные хранимые процедуры в базе данных.Каждая процедура возвращает результаты запроса.Одна процедура принимает входные параметры, а другая процедура — не принимает.

В примерах этого раздела используется учебная база данных "Борей".При отсутствии учебной базы данных "Борей" на компьютере разработчика ее можно загрузить с веб-узла Центра загрузки Майкрософт.Подробные инструкции см. в разделе Downloading Sample Databases (LINQ to SQL).

ПримечаниеПримечание

На вашем компьютере названия некоторых элементов интерфейса пользователя Visual Studio или их расположение могут отличаться от указанных в нижеследующих инструкциях. Это зависит от имеющегося выпуска Visual Studio и используемых параметров. Дополнительные сведения см. в разделе Параметры Visual Studio.

Создание подключения к базе данных

  1. В Visual Studio откройте обозреватель серверов или обозреватель баз данных. Для этого в меню Вид выберите пункт Обозреватель серверов или Обозреватель баз данных.

  2. В обозревателе серверов или обозревателе баз данных щелкните правой кнопкой мыши Подключения данных, а затем выберите команду Добавить подключение.

  3. Укажите допустимое подключение к учебной базе данных "Northwind".

Добавление проекта, содержащего файл LINQ-SQL

  1. В меню Файл окна Visual Studio выберите команду Создать и щелкните Проект.Выберите Приложение Windows Forms в качестве типа проекта Visual Basic.

  2. В меню Проект выберите команду Добавить новый элемент.Выберите шаблон элемента Классы LINQ-SQL.

  3. Назовите файл northwind.dbml.Нажмите кнопку Добавить.Откроется реляционный конструктор объектов для файла northwind.dbml.

Чтобы добавить в конструктор O/R хранимые процедуры

  1. В представлении Обозреватель серверов или Обозреватель баз данных разверните подключение к базе данных "Northwind".Разверните папку Хранимые процедуры.

    Если реляционный конструктор объектов закрыт, откройте его снова, дважды щелкнув файл northwind.dbml, который был добавлен ранее.

  2. Нажмите кнопку Sales by Year хранимой процедуры и перетащите ее в правую область конструктора.Нажмите кнопку Ten Most Expensive Products хранимой процедуры и перетащите ее в правую область конструктора.

  3. Сохраните изменения и закройте конструктор.

  4. Сохраните проект.

Чтобы добавить код для отображения результатов хранимых процедур

  1. С панели элементов перетащите элемент управления DataGridView в заданную по умолчанию форму Windows Forms для проекта (Form1).

  2. Дважды щелкните значок Form1 для добавления кода для ее события Load.

  3. После добавления таблицы в O/R Конструктор, разработчик добавил объект DataContext в проект.Этот объект содержит код, необходимый для доступа к этим процедурам.Объекту DataContext присваивается имя на основе имени файла .dbml.Для данного проекта объект DataContext называется northwindDataContext.

    Можно создать экземпляр DataContext в коде и вызывать методы хранимой процедуры, определяемые в конструкторе O/R.Для привязки объекта DataGridView может потребоваться немедленное выполнение запроса путем вызова метода ToList<TSource> для результатов выполнения хранимой процедуры.

    Добавьте следующий код в событие Load для вызова одной из процедур, предоставленных как методы в контексте данных.

    Dim db As New northwindDataContext
    
    ' Display the results of the Sales_by_Year stored procedure.
    DataGridView1.DataSource = 
        db.Sales_by_Year(#1/1/1996#, #1/1/2007#).ToList()
    
    
    ...
    
    
    ' Display the results of the Ten_Most_Expensive_Products
    ' stored procedure.
    
    DataGridView1.DataSource = 
        db.Ten_Most_Expensive_Products.ToList()
    
  4. Нажмите клавишу F5, чтобы запустить проект и просмотреть результаты.

См. также

Задачи

How to: Assign Stored Procedures to Perform Updates, Inserts, and Deletes (O/R Designer)

Walkthrough: Creating LINQ to SQL Classes (O/R Designer)

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

DataContext Methods (O/R Designer)

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

LINQ в Visual Basic

Запросы (Visual Basic)

LINQ to SQL