Ich verwende TransactionScope
in BLL. Ich habe Repository-Klassen auf Datenzugriffsebene, die eigene Context
pro Crud erstellt. Ob das funktioniert?Funktioniert TransactionScope für verschiedene Context-Objekt
In Bll:
using (var scope = new TransactionScope(TransactionScopeOption.Required))
{
rep.addItme(Myentity);
rep.updateItme(MyAnotherEntity);
scope.Complete();
}
In Data Access:
class rep
{
void addItmem(Entity entity)
{
using(var context=new MydbContext)
{
//---state is set here
context.Entity.add(entity);
context.SaveChanges();
}
}
void updateItem(Entity entity)
{
using(var context=new MydbContext)
{
//--state is set here
context.Entity.add(entity);
context.SaveChanges();
}
}
Ja. Der beste Weg ist es, es zu testen. Versuchen Sie, eine Ausnahme in 'updateItem' zu werfen und zu sehen. –