Прочитать на английском

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


DataContext.ExecuteCommand(String, Object[]) Метод

Определение

Выполняет команды SQL непосредственно в базе данных.

public int ExecuteCommand(string command, params object[] parameters);

Параметры

command
String

Команда SQL для выполнения.

parameters
Object[]

Массив параметров для передачи команде. Обратите внимание на следующее поведение.

Если количество объектов в массиве меньше, чем наибольшее число команд, определенных в командной строке, создается исключение.

Если массив содержит объекты, на которые нет ссылок в командной строке, исключение не создается.

Если значение одного из параметров равно NULL, оно преобразуется в значение DBNull.Value.

Возвращаемое значение

Количество строк, измененных выполненной командой.

Примеры

В следующем примере открывается подключение и передается команда SQL UPDATE в ядро SQL.

db.ExecuteCommand("UPDATE Products SET UnitPrice = UnitPrice + 1.00");

Комментарии

Этот метод является механизмом сквозной передачи для случаев, когда LINQ to SQL не обеспечивает адекватное предоставление определенного сценария.

Синтаксис команды почти совпадает с синтаксисом, используемым для создания ADO.NET DataCommand. Единственное различие заключается в том, как задаются параметры. В частности, можно указать параметры, заключив их в фигурные скобки ({...}) и перечислив их начиная с 0. Параметр связан с равнонумерным объектом в массиве параметров.

ExecuteQuery и ExecuteCommand позволяют указать переменное число аргументов для подстановки параметров. Например, можно указать параметры при вызове ExecuteQuery<TResult>:

db.ExecuteQuery<Customer>("SELECT * FROM dbo.Customers WHERE City = {0}", "London");

И еще один пример:

db.ExecuteCommand("UPDATE Products SET QuantityPerUnit = {0} WHERE ProductID = {1}", "24 boxes", 5);

Применяется к

Продукт Версии
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1