/ / ServiceStack OrmLite Грешка при използването на UserAuthRepository.CreateUserAuth вътре в транзакция - servicestack или ormlite-servicestack

ServiceStack OrmLite Грешка при използване на UserAuthRepository.CreateUserAuth в транзакция - servicestack, ormlite-servicestack

Имам сложен работен процес, при който искам да създам редове в няколко таблици в една транзакция. Една от операциите е създаване на нов UserAuth (от функцията за удостоверяване на ServiceStack).

Предполагам, че всички операции с база данни в aтранзакцията трябва да работи на една и съща връзка и ако това е вярно, тогава мисля, че може да е проблем да се обадите на UserAuthRepository.CreateUserAuth вътре в транзакцията, защото изглежда така, сякаш използва собствената си връзка.

Така че въпросът ми е дали ако създаването на aUserAuth ще бъде част от транзакцията или не, когато имам код, показан по-долу. И ако не, тогава как да продължите да създавате нови потребители като част от транзакция?

  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();
}
}

Отговори:

3 за отговор № 1

Вътрешно, когато ServiceStack изисква достъп до база данни, например в OrmLiteUserAuthRepository.CreateUserAuth тя изисква и използва нова връзка и веднага я изхвърля, след като свърши.

Понастоящем няма начин да го направите отделно от персонализирана транзакция.