不要な変更をコミットするのを防ぐ最良の方法は何ですか?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 Idを持つエンティティが更新される代わりに保存されます。
大変助かりました。
これは、フラッシュを遅らせるだけで、変更を選択しません。 –