Как отправить несколько команд в SQL Server 2008 за один прием - PullRequest
1 голос
/ 23 января 2012

Я хочу отправить несколько параметризованных команд обновления, вставки и удаления в базу данных сервера sql за один прием.Я посмотрел на sqlbulkcopy, но, похоже, работает только с одним отображением / таблицей / оператором за раз.Я надеялся на что-то более гибкое.Мне не нужно получать какие-либо результаты ни от одного из запросов (т. Е. От числа затронутых строк), но я хочу, чтобы сбои распространялись обратно на уровень приложения и чтобы откат транзакции выполнялся.Любые идеи?

побочный вопрос: мне также было интересно, как nHibernate делает это, только потому, что он проверен и верен и, кажется, работает хорошо.Я попытался просмотреть исходный код nhibernate, но не сразу было понятно, как он делал пакетирование.Я могу вернуться к источнику, но надеялся, что кто-то знает, высокий уровень, как он обрабатывается и сможет объяснить мне.

Ответы [ 2 ]

1 голос
/ 23 января 2012

Установите CommandType на Text и разделите ваши команды точкой с запятой. В итоге получается одна гигантская команда, имена параметров которой вам могут понадобиться программно (чтобы избежать конфликтов).

0 голосов
/ 23 января 2012

если я не ошибаюсь, SqlCommandBuilder поможет вам :). SqlCommandBuilder

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