Я использую ADO.Net ExecuteNonQuery для вызова хранимой процедуры, работает как отдельная функция charm, но при реализации ее там, где она должна вызываться, у меня возникают проблемы с транзакциями.
Например
System.Data.SqlClient.SqlException: Transaction count after EXECUTE indicates a
mismatching number of BEGIN and COMMIT statements. Previous count = 1, current count = 0.
, а также таймаут сразу после этого.
Я только что обнаружил, что метод, который вызывает хранимую процедуру, помечен следующим атрибутом WCF:
[OperationBehavior(TransactionScopeRequired = true, TransactionAutoComplete = true)]
Как это повлияет на вызов моей хранимой процедуры? Как я могу сказать .Net выполнить хранимую процедуру вне этой транзакции?
Хранимая процедура содержит операторы вставки, а также транзакцию, но их удаление не меняет поведение ...