Практическое руководство. Вызов хранимой процедуры с помощью LINQ (Visual Basic)
Интегрированный с языком запрос (LINQ) упрощает доступ к данным базы данных, включая объекты базы данных, такие как хранимые процедуры.
В следующем примере показано, как создать приложение, которое вызывает хранимую процедуру в базе данных SQL Server. В примере показано, как вызвать две различные хранимые процедуры в базе данных. Каждая процедура возвращает результаты запроса. Одна процедура принимает входные параметры, а другая процедура не принимает параметры.
В примерах в этом разделе используется пример базы данных Northwind. Если база данных не установлена на компьютере разработчика, загрузите ее с веб-узла Центра загрузки Майкрософт. Инструкции см. в разделе "Скачивание примеров баз данных".
Примечание.
Отображаемые на компьютере имена или расположения некоторых элементов пользовательского интерфейса Visual Studio могут отличаться от указанных в следующих инструкциях. Это зависит от имеющегося выпуска Visual Studio и используемых параметров. Дополнительные сведения см. в разделе Персонализация среды IDE.
Создание подключения к базе данных
В Visual Studio откройте Обозреватель Server Обозреватель Database, щелкнув сервер Обозреватель// Database Обозреватель в меню "Вид".
Щелкните правой кнопкой мыши Подключение данных в Обозреватель Server Обозреватель/ Database, а затем нажмите кнопку "Добавить Подключение".
Укажите допустимое подключение к образцу базы данных Northwind.
Добавление проекта, содержащего файл LINQ to SQL
В меню Файл окна Visual Studio наведите указатель мыши на пункт Создать и щелкните Проект. Выберите приложение Visual Basic Windows Forms в качестве типа проекта.
В меню Проект выберите Добавить новый элемент. Выберите шаблон элемента классов LINQ to SQL.
Назовите файл
northwind.dbml
. Нажмите кнопку Добавить. Откроется реляционный конструктор объектов (конструктор O/R) для файла northwind.dbml.
Добавление хранимых процедур в конструктор O/R
В Обозреватель Server Обозреватель/ Database разверните подключение к базе данных Northwind. Разверните папку Хранимые процедуры .
Если вы закрыли конструктор O/R, его можно повторно открыть, дважды щелкнув файл northwind.dbml, который вы добавили ранее.
Щелкните хранимую процедуру "Продажи по годам " и перетащите ее в правую область конструктора. Щелкните хранимую процедуру " Десять самых дорогих продуктов" перетащите ее в правой области конструктора.
Сохраните изменения и закройте конструктор.
Сохраните проект.
Добавление кода для отображения результатов хранимых процедур
На панели элементов перетащите DataGridView элемент управления в форму Windows Form по умолчанию для проекта Form1.
Дважды щелкните Form1, чтобы добавить код в его
Load
событие.При добавлении хранимых процедур в конструктор 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()
Нажмите клавишу F5, чтобы запустить проект и просмотреть результаты.