So che per le scritture multiparte, dovrei utilizzare le transazioni in nhibernate. Per quanto riguarda la lettura e la scrittura semplici (1 parte) ... Ho letto che è buona norma usare sempre le transazioni. È richiesto?Devo utilizzare sempre le transazioni in nhibernate (anche per letture e scritture semplici)?
Devo fare quanto segue per una semplice lettura ?? o posso semplicemente rilasciare la parte di trascrizione tutto insieme?
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;
}
}
}
o
public PrinterJob RetrievePrinterJobById(Guid id)
{
using (ISession session = sessionFactory.OpenSession())
{
return (PrinterJob) session.Get(typeof (PrinterJob), id);
}
}
Che dire per semplici operazioni di scrittura?
public void AddPrintJob(PrinterJob printerJob)
{
using (ISession session = sessionFactory.OpenSession())
{
using (ITransaction transaction = session.BeginTransaction())
{
session.Save(printerJob);
transaction.Commit();
}
}
}
Grande risposta su SO: http://stackoverflow.com/questions/1657465/nhibernate-transactions-on-reads –