Ich weiß, dass für mehrteilige Schreibvorgänge ich Transaktionen in Nhibernate verwenden sollte. Wie auch immer, für einfaches Lesen und Schreiben (1 Teil) ... Ich habe gelesen, dass es gut ist, immer Transaktionen zu verwenden. Ist das erforderlich?Sollte ich immer Transaktionen in Nhibernate (auch für einfache Lese-und Schreibvorgänge) verwenden?
Sollte ich folgendes für eine einfache Lese tun? oder kann ich den transcaction part einfach zusammenlegen?
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;
}
}
}
oder
public PrinterJob RetrievePrinterJobById(Guid id)
{
using (ISession session = sessionFactory.OpenSession())
{
return (PrinterJob) session.Get(typeof (PrinterJob), id);
}
}
Was für einfache schreibt?
public void AddPrintJob(PrinterJob printerJob)
{
using (ISession session = sessionFactory.OpenSession())
{
using (ITransaction transaction = session.BeginTransaction())
{
session.Save(printerJob);
transaction.Commit();
}
}
}
Große Antwort auf SO: http://StackOverflow.com/Questions/1657465/Nhibernate-Transactions-on-Reads –