My repositories all take ISession in the constructor:
protected Repository(ISession session) { this.session = session; } private readonly ISession sessi
This question & answers might help you.
One way to go - steal nhibernate session management from "S#arp Architecture". Works great.