Каков наилучший способ избежать внесения нежелательных изменений?Transaction.Commit сохраняет изменения, внесенные до BeginTransaction
var a = session.Load<A>(id);
a.Value = ParseExpressions(a.Value);
using(var tx = session.BeginTransaction())
{
// Do some work here
tx.Commit();
}
A
объект содержит выражения, которые должны быть оценены, прежде чем работа может быть сделано, но, когда сделка совершается a.Value
сохраняется в базе данных.
Я хочу только изменения, которые происходят после session.BeginTransaction() для сохранения.
Я попытался позвонить session.Clear()
, но это приведет к сохранению объектов с идентификатором Guid вместо обновленного.
Любая помощь очень ценится.
Это будет только задерживать флеш, а не выбирать изменения –