/ / ServiceStack OrmLite Je to chyba používať UserAuthRepository.CreateUserAuth v transakcii - servicestack, ormlite-servicestack

ServiceStack OrmLite Je to chyba používať UserAuthRepository.CreateUserAuth v transakcii - servicestack, ormlite-servicestack

Mám komplexný pracovný postup, v ktorom chcem v jednej transakcii vytvoriť riadky v niekoľkých tabuľkách. Jednou z týchto operácií je vytvorenie nového UserAuth (z funkcie overovania ServiceStack).

Predpokladám, že všetky databázové operácie v atransakcia by mala fungovať na rovnakom spojení a ak je to pravda, myslím, že môže byť problém zavolať UserAuthRepository.CreateUserAuth v transakcii, pretože to vyzerá, akoby používal vlastné spojenie.

Takže moja otázka je, či ak vytvorenieUserAuth bude súčasťou transakcie alebo nie, keď mám kód, ako je uvedené nižšie. A ak nie, potom ako urobiť vytvorenie nových používateľov ako súčasť transakcie?

  using (var db = Db.OpenDbConnection()) {
using (var trans = db.OpenTransaction()) {

... do some databae operations via. db ...

var userAuth = UserAuthRepository.CreateUserAuth(
new UserAuth{UserName = "blabla"},
"password"
);

... do some more databae operations via. db ...

trans.Commit();
}
}

odpovede:

3 pre odpoveď č. 1

Vždy, keď služba ServiceStack vyžaduje prístup k databáze, napr OrmLiteUserAuthRepository.CreateUserAuth požiada o nové pripojenie a použije ho a ihneď ho zlikviduje, keď to urobí.

Momentálne neexistuje žiadny spôsob, ako by sa dala odlíšiť od vlastnej transakcie.