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

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

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

В примерах в этом разделе используется пример базы данных Northwind. Если база данных не установлена на компьютере разработчика, загрузите ее с веб-узла Центра загрузки Майкрософт. Инструкции см. в разделе "Скачивание примеров баз данных".

Примечание.

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

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

  1. В Visual Studio откройте Обозреватель Server Обозреватель Database, щелкнув сервер Обозреватель// Database Обозреватель в меню "Вид".

  2. Щелкните правой кнопкой мыши Подключение данных в Обозреватель Server Обозреватель/ Database, а затем нажмите кнопку "Добавить Подключение".

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

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

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

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

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

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

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

    Если вы закрыли конструктор O/R, его можно повторно открыть, дважды щелкнув файл northwind.dbml, который вы добавили ранее.

  2. Щелкните хранимую процедуру "Продажи по годам " и перетащите ее в правую область конструктора. Щелкните хранимую процедуру " Десять самых дорогих продуктов" перетащите ее в правой области конструктора.

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

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

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

  1. На панели элементов перетащите DataGridView элемент управления в форму Windows Form по умолчанию для проекта Form1.

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

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

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

    Добавьте следующий код в 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, чтобы запустить проект и просмотреть результаты.

См. также