nested transactions i c#
DavJeg har designet en database, der kører på en MS sql platform. Denne Database bliver så kaldt fra dot net, ved hjælp af SQlHelper klassen. Det jeg gerne vil er at lave en nested transaction. I min C# kode bliver der først kørt en transaction der laver fire kald til databasen. Disse fire kald er inkapslet i en transaction. Mit problem er at et af disse fire kald, indehoder to kald der også er inkapslet i en transaction, og når jeg kører mit program for jeg fejlen "SqlConnection does not support parallel transactions".
Min kode, simplificeret ser ud som følger:
Client klassen i business layer:
public bool Save()
BeginTransaction();
//kalder en update i dataacces layer der så kalder databasen
DAL.UpdateCLient(parametre);
DAL.UpdateCustomer(parametre);
//denne metode kalder så adresse klassens save metode
//Adresse klasen ligger også i bussiness layer og dens
//save metode
Adresse.save();
CommitTransaction();
return true;
Adresse klassens save metode(Adresse.Save())
indeholder så følgende
bool Save
//kalder DataAcces layer
BeginTransaction();
DAL.AdresseUpdate(parametre);
DAL.PostnummerUpdate(paraetre);
CommitTransaction();
Dette vil sige at jeg alder BeginTransaction, og før denne bliver commitet kalder jeg en begintransaction igen.
hvilket, som sagt, giver mig fejlen: SqlConnection does not support parallel transactions.
Er der nogen der kan hjælpe???
Mvh
Kalle
