Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Language-Integrated запрос (LINQ) упрощает доступ к данным базы данных, включая объекты базы данных, такие как хранимые процедуры.
В следующем примере показано, как создать приложение, которое вызывает хранимую процедуру в базе данных SQL Server. В примере показано, как вызвать две различные хранимые процедуры в базе данных. Каждая процедура возвращает результаты запроса. Одна процедура принимает входные параметры, а другая процедура не принимает параметры.
В примерах в этой статье используется пример базы данных Northwind. Чтобы получить базу данных, см. раздел Загрузка примеров баз данных.
Заметка
На компьютере могут отображаться различные имена или расположения для некоторых элементов пользовательского интерфейса Visual Studio в следующих инструкциях. Выпуск Visual Studio, который у вас есть, и параметры, которые вы используете, определяют эти элементы. Дополнительные сведения см. в разделе Персонализация интегрированной среды разработки.
Создание подключения к базе данных
В Visual Studio откройте Обозреватель серверов/Database Explorer, выбрав Обозреватель серверов/Database Explorer в меню Вид.
Щелкните правой кнопкой мыши подключения к данным в обозревателе серверов /Обозревателя баз данных, а затем щелкните Добавить подключение.
Укажите валидное подключение к демонстрационной базе данных Northwind.
Добавление проекта, содержащего файл LINQ to SQL
В Visual Studio в меню файл выберите пункт Создать и щелкните Project. Выберите приложение Visual Basic Windows Forms в качестве типа проекта.
В меню проекта щелкните Добавить новый элемент. Выберите шаблон элемента LINQ to SQL Classes.
Назовите файл
northwind.dbml
. Нажмите кнопку Добавить. Конструктор реляционных объектов (конструктор O/R) открыт для файла northwind.dbml.
Добавление хранимых процедур в конструктор O/R
В обозревателе серверов /Обозреватель баз данныхразверните подключение к базе данных Northwind. Разверните папку хранимых процедур .
Если вы закрыли конструктор O/R, его можно повторно открыть, дважды щелкнув файл northwind.dbml, который вы добавили ранее.
Щелкните хранимую процедуру «Продажи по году» и перетащите её в правую область конструктора. Щелкните по хранимой процедуре "Ten Most Expensive Products" и перетащите её в правую область конструктора.
Сохраните изменения и закройте конструктор.
Сохраните проект.
Добавление кода для отображения результатов хранимых процедур
Из панели элементовперетащите элемент управления 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, чтобы запустить проект и просмотреть результаты.