我知道对于多部分写入,我应该在nhibernate中使用事务。但是,对于简单的读写操作(第1部分)呢……我读到,始终使用事务是一种好习惯。这是必需的吗?
我应该做以下简单阅读吗?或者我可以完全放弃事务部分吗?
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();
}
}
}
最佳答案
最好的建议是始终使用事务。 This link from the NHProf文档,最好地说明了原因。
(顺便说一句,如果您正在认真进行NHibernate工作,请考虑试用NHProf)。