Implementação de multilocação mais indolor usando ASP.NET, NHibernate / Fluent NHibernate

Eu estou tentando implementar multi-tenancy em um aplicativo asp.net MVC eu tenho, que usa o NHibernate. Embora eu tenha controle sobre o banco de dados para multilocação. Eu estou tentando descobrir a melhor maneira de filtrar nossas consultas de banco de dados usando o NHibernate.

Eu gostaria de saber se há uma maneira indolor onde eu possa acrescentar uma condição (algo comoWHERE InstanceID = 1) para cada consulta CRUD para o DB usando NHibernate.

Eu olhei para filtros globais. Mas eu não tinha certeza se estou usando da maneira certa. Eu tentei algo assim.

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

Mas isso não parece funcionar. Qualquer bom exemplo de filtros globais do NHibernate / qualquer boa abordagem de filtragem de todas as consultas DB com uma condição seria muito apreciada.

questionAnswers(1)

yourAnswerToTheQuestion