RepoDB с предложением OUTPUT SQL Server - PullRequest
0 голосов
/ 12 июля 2020

Как мне получить доступ к содержимому предложения OUTPUT с помощью RepoDB, например,

INSERT INTO MyTable(Name)
OUTPUT INSERTED.ID
VALUES ('TheName')

Ответы [ 2 ]

0 голосов
/ 12 июля 2020

Используйте метод расширения ExecuteScalar , как показано ниже (только если вы вставляете одну строку).

var result = connection.ExecuteScalar("INSERT INTO MyTable(Name) OUTPUT INSERTED.ID VALUES (@Name);", new { Name = "TheName" });

Или используя типизированный результат.

var result = connection.ExecuteScalar<int>("INSERT INTO MyTable(Name) OUTPUT INSERTED.ID VALUES (@Name);", new { Name = "TheName" });

Если вы вставляете несколько строк, используйте метод ExecuteQuery . Результатом будет модель (типа IEnumerable<T>).

0 голосов
/ 12 июля 2020

DML с предложением OUTPUT выглядит для клиента как SELECT. Итак, похоже, что ExecuteQuery будет правильным API.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...