14
我知道,對於多部分寫入,我應該使用nhibernate中的事務。然而,對於簡單的讀寫操作(1部分)...我已經讀過,總是使用事務是個好習慣。這是必需的嗎?我應該總是使用nhibernate中的事務(即使對於簡單的讀寫操作)?
我應該做一下簡單的閱讀?或者我可以放棄所有的橫切部分?
public PrinterJob RetrievePrinterJobById(Guid id)
{
using (ISession session = sessionFactory.OpenSession())
{
using (ITransaction transaction = session.BeginTransaction())
{
var printerJob2 = (PrinterJob) session.Get(typeof (PrinterJob), id);
transaction.Commit();
return printerJob2;
}
}
}
或
public PrinterJob RetrievePrinterJobById(Guid id)
{
using (ISession session = sessionFactory.OpenSession())
{
return (PrinterJob) session.Get(typeof (PrinterJob), id);
}
}
什麼簡單的寫?
public void AddPrintJob(PrinterJob printerJob)
{
using (ISession session = sessionFactory.OpenSession())
{
using (ITransaction transaction = session.BeginTransaction())
{
session.Save(printerJob);
transaction.Commit();
}
}
}
很好的答案在SO:http://stackoverflow.com/questions/1657465/nhibernate-transactions-on-reads – 2010-07-21 22:22:04