Из-за функции SavePoints в SQL Server (SqlTransaction.Save()
) я хотел бы использовать SqlTransactions
очень ограниченным образом (мне ДЕЙСТВИТЕЛЬНО нужна эта функциональность), при этом все еще используя окружающие транзакции во всех других местах. Я понимаю, что это означает, что этот код (и зависимости) теперь специфичны для SQL Server - это нормально. Тем не менее, я все же предпочел бы следовать предпочтительным окружающим транзакциям во всех других местах в целях лучшей практики. (Если нам нужно перейти на Oracle или что-то в этом роде, нам нужно будет переделать эту часть нашего кода, но мы не хотим переделывать всю кодовую базу.)
Возможно ли получить текущий SqlTransaction
из Transaction.Current
(который возвращает объект типа System.Transactions.Transaction
) или каким-либо другим способом? (Я могу ошибаться, но я предполагаю, что в конечном итоге это объект, который реализует окружающий Transaction
объект во время выполнения)
( связанный, но другой вопрос, над которым я сейчас работаю, если вам нужна дополнительная информация о причинах )