Отображение nhibernate на несколько баз данных, которые совместно используют схему, но не данные

У меня есть несколько баз данных, которые должны быть активны одновременно. Они разделяют схему, но не данные.

AFAIK nhibernate использует тип класса, чтобы знать, с каким отображением и базой данных он связан, верно? Поэтому, как только он получает объект, он не будет знать, принадлежит ли он базе данных a или b.

Я думаю, что это можно решить с помощью наследования, но это настоящая боль, поскольку существует около 10 различных баз данных...

Есть идеи, как это можно решить с помощью nhibernate (burrow)?

Я нашел это, но это не то же самое, что просто выбрать одну базу данных из многих. Мне нужно, чтобы они открывались одновременно с использованием разных данных.

Я также посмотрел на NHibernate.Shards, но это тоже не сработает. Это устаревшие базы данных, которые нельзя изменить.

1 ответ

Если сопоставления одинаковы для каждой из ваших баз данных, я думаю, что у меня будет экземпляр ISessionFactory для каждой базы данных, сопоставленный с использованием тех же сопоставлений, тогда вы получите ISession из соответствующего для доступа к конкретной базе данных.

Другие вопросы по тегам