La implementación más indolora de multitenencia utilizando ASP.NET, NHibernate / Fluent NHibernate

Estoy tratando de implementar la tenencia múltiple en una aplicación MVC de ASP.NET que tengo, que usa NHibernate. Aunque tengo control sobre la base de datos para multi-tenancy. Estoy tratando de descubrir la mejor manera de filtrar las consultas de nuestra base de datos utilizando NHibernate.

Me gustaría saber si hay una forma indolora en la que puedo agregar una condición (algo comoWHERE InstanceID = 1) a cada consulta CRUD a la base de datos utilizando NHibernate.

Miré los filtros globales. Pero no estaba seguro de si lo estoy usando de la manera correcta. Probé algo como esto.

NHibernateSession.GetDefaultSessionFactory().GetCurrentSession()
.EnableFilter("instance-filter").SetParameter("InstanceId", "2");

Pero no parecía funcionar. Cualquier buen ejemplo de filtros globales de NHibernate / cualquier buen enfoque para filtrar todas las consultas de base de datos con una condición sería altamente apreciado.

Respuestas a la pregunta(1)

Su respuesta a la pregunta