Najbardziej bezbolesna implementacja multi-tenancy przy użyciu ASP.NET, NHibernate / Fluent NHibernate

Usiłuję zaimplementować multi-tenancy w aplikacji ASP.NET MVC, która używa NHibernate. Chociaż mam kontrolę nad bazą danych dla wielu osób. Próbuję znaleźć najlepszy sposób filtrowania zapytań do bazy danych za pomocą NHibernate.

Chciałbym wiedzieć, czy istnieje bezbolesny sposób, w jaki mogę dołączyć warunek (coś takiegoWHERE InstanceID = 1) do każdego zapytania CRUD do bazy danych za pomocą NHibernate.

Spojrzałem na filtry globalne. Ale nie byłam pewna, czy wykorzystuję to we właściwy sposób. Próbowałem czegoś takiego.

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

Ale to nie działało. Każdy dobry przykład filtrów globalnych NHibernate / dowolnego dobrego podejścia do filtrowania wszystkich zapytań DB z warunkiem byłby bardzo mile widziany.

questionAnswers(1)

yourAnswerToTheQuestion