Работа с транзакциями в .net.Возник вопрос о текущих транзакциях через подфункции.Нужно ли использовать зависимые транзакции, если контекст объекта является общим для всех под-методов?
Например, в следующем коде - я объявляю контекст объекта в конструкторе моего класса (не уверен, что это лучшая практика)
public class EmployeeRepository
{
private EmployeeContext ec;
public EmployeeRepository()
{
objectContext = new EmployeeContext();
}
public InitTransaction(EmployeeEntity emp1)
{
using (TransactionScope transaction = new TransactionScope())
{
try
{ ec.employees.AddObject(emp1);
SubFunction1();
ec.SaveChanges();
}
catch
{
//catch
}
}
//commit the transaction here
ec.AcceptAllChanges();
}
public SubFunction1()
{
//some processing
//using same object context
ec.someother.AddObject(someobject);
ec.SaveChanges();
}
}
Я хочу, чтобы подфункции быличасть сделок, а?В этом случае я должен использовать зависимую транзакцию в SubFunction1, даже если я использую тот же контекст объекта?Или я должен добавить
using (TransactionScope transaction = new TransactionScope());
в SubFunction1.Указатели в правильном направлении будут с благодарностью.