Как я включаю вложенные транзакции с ADO.NET и SQL Server?

У меня есть подобный вопрос тому, как проверить, находитесь ли Вы в транзакции. Вместо проверки, как я позволяю вложенные транзакции?

Я использую Базу данных Microsoft SQL Server с ADO.NET. Я видел, что примеры используют T-SQL и примеры, которые стартовое использование транзакций начинает и имена транзакции использования. При вызове соединения. BeginTransaction, я вызываю другую функцию в том же соединении, и это называет BeginTransaction снова, который дает мне исключение:

SqlConnection does not support parallel transactions.

Кажется, что много вариантов Microsoft позволяют это, но я не могу выяснить, как сделать это с моим .mdf файлом.

Как я позволяю вложенные транзакции с Базой данных Microsoft SQL Server с помощью C# и ADO.NET?

7
задан Community 23 May 2017 в 12:01
поделиться

1 ответ

SQL Server в целом не поддерживает вложенные транзакции. В T-SQL вы можете выполнить BEGIN TRAN внутри более раннего BEGIN TRAN , но это просто для удобства. Учитывается только внешняя транзакция. Клиент .NET для SQL Server ( SqlConnection ) даже не позволяет вам сделать это и выдает это исключение при попытке.

7
ответ дан 6 December 2019 в 23:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: