由於NHibernate的ISession的跟蹤變化,我想知道如果我可以拋棄在一個會話中的所有變化,是這樣的:如何恢復NHibernate會話中的所有更改?
class Person
{
public virtual string Name { get; set; }
}
// Somewhere else...
var session = sessionFactory.OpenSession();
person.Name = "John Doe";
using(var tx = session.BeginTransaction)
{
session.Save(person);
tx.Commit();
}
person.Name = "Jane Doe";
// Now, can I do something like this?
session.RevertAll();
Assert.AreEqual("John Doe", person.Name);
是否可以回滾已提交的事務? – Zegar 2013-11-26 15:08:44
@zegar:簡答:不會。長答案:您可以嘗試解決分佈式事務。這是一個數據庫服務器技術(例如來自SQL Server),而不是NHibernate相關的技術。我想知道你爲什麼想這樣做。 – 2013-11-27 07:15:18