The easiest way is to use different databases for each client.
Implementing multi-user access in this way allows you to efficiently write one tenant application and only worry about multi-user work in the place where you create / retrieve the session.
( - ), , , , - ISessionFactory, , ( , - URL- ).
, - , .
Castle Windsor, NHibernate. () , factory . ISessionManager, factory ( -). , , ISession, factory, ISessionManager . factory factory, , , factory .