Я хочу сделать транзакцию серией вызовов sp (sql server 2005) в проекте .net 2.0, окружающих некоторую часть бизнес-логики
.
using(TransactionScope...)
К сожалению, я унаследовал DAL от другого проекта и не хочу вносить в него много изменений ... проблема в том, что каждый метод, который вызывает хранимую процедуру, открывает новое соединение.
Итак, мой вопрос: есть ли способ получить соединение, используемое текущей транзакцией, то есть из Transaction.Current ??
Спасибо
s.
ОБНОВЛЕНИЕ: Скажите, пожалуйста, что не так с этим консольным приложением (версия 2005, .net 2.0, Sql server 2005)
using System;
using System.Collections.Generic;
using System.Text;
using System.Data.SqlClient;
using System.Data;
using System.Transactions;
namespace ConsoleApplication1
{
public class Program
{
static void Main(string[] args)
{
using (TransactionScope ts = new TransactionScope(TransactionScopeOption.Required))
{
Console.WriteLine("1");
test();
Console.WriteLine("2");
test();
}
Console.WriteLine("END");
}
public static void test()
{
string connectionString = @"Persist Security Info=True;User ID=usr123;Password=123;Initial Catalog=db123;Data Source=myserver\myinstance;Connect Timeout=180;";
using (SqlConnection conn = new SqlConnection(connectionString))
{
conn.Open();
}
}
}
}