Проблема TransactionScope - PullRequest
       26

Проблема TransactionScope

0 голосов
/ 20 февраля 2012

У меня есть в БД сопоставленная таблица с идентификатором 7, поле Taex со значением "qwe"

в этом коде:

var fooObj = Foo.GetById(7);
fooObj.Taex = "abc";
using (new TransactionScope(OnDispose.Rollback))
{
    var originalFooObj = Foo.GetById(7);
    // how can i do to get real original object from database into a transaction
    bool areEquals = fooObj.Taex == originalFooObj.Taex; // are equals
    // because nhibernate gets the cached object.
}

мне нужны исходные данные БД в транзакцию,как я могу это сделать?

Ответы [ 2 ]

1 голос
/ 20 февраля 2012

NHibernate имеет метод Refresh. Вы можете использовать его, чтобы заставить NH перезагрузить сущность из DB

0 голосов
/ 20 февраля 2012

У вас его уже нет:

var fooObj = Foo.GetById(7);
var tempTaex = fooObj.Taex; //**get the original value
fooObj.Taex = "abc";
using (new TransactionScope(OnDispose.Rollback))
{
    var originalFooObj = Foo.GetById(7);
    // how can i do to get real original object from database into a transaction
    bool areEquals = fooObj.Taex == tempTaex; //**use it
    // because nhibernate gets the cached object.
}
...