Vedi il codice qui sotto, che crea una Session Factory per Unit Of Work:
public int Update(IdentityRoleView role)
{
var role2 = AutoMapper.Mapper.Map<IdentityRole>(role);
ISessionFactory SessionFactory = NHConfiguration.BuildSessionFactory();
using (ISession session = SessionFactory.OpenSession())
using (ITransaction transaction = session.BeginTransaction())
{
session.Update(role2);
transaction.Commit();
}
return 1;
}
Recentemente è stato criticato perché significa che SessionFactory viene creato per ogni unità di lavoro e questo è costoso. Con NHibernate; dovresti creare una SessionFactory per la durata dell'applicazione in una variabile statica?