NSitzungsverwaltung im Ruhezustand in ASP.NET MVC

Ich spiele gerade mit der HybridSessionBuilder-Klasse, die in Jeffrey Palermos Blog-Beitrag zu finden ist:

http: //jeffreypalermo.com/blog/use-this-nhibernate-wrapper-to-keep-your-repository-classes-simple

Mit dieser Klasse sieht mein Repository folgendermaßen aus:

public class UserRepository : IUserRepository
{
    private readonly ISessionBuilder _sessionBuilder;

    public UserRepository(ISessionBuilder sessionBuilder)
    {
        _sessionBuilder = sessionBuilder;
    }

    public User GetByID(string userID)
    {
        using (ISession session = _sessionBuilder.GetSession())
        {
            return session.Get<User>(userID);
        }
    }
}

Ist dies der beste Weg, um die NHibernate-Sitzung / -Factory zu verwalten? Ich habe Dinge über Unit of Work gehört und eine Sitzung pro Webanforderung erstellt und am Ende gelöscht. Soweit ich weiß, macht meine derzeitige Implementierung nichts davon. Grundsätzlich ist das Repository darauf angewiesen, die Sitzung aus der Sitzungsfactory abzurufen und zum Ausführen der Abfragen zu verwenden.

Gibt es irgendwelche Fallstricke, um auf diese Weise auf die Datenbank zuzugreifen?

Antworten auf die Frage(10)

Ihre Antwort auf die Frage