Отображение nhibernate на несколько баз данных, которые совместно используют схему, но не данные - PullRequest
0 голосов
/ 09 ноября 2010

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

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

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

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

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

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

1 Ответ

0 голосов
/ 08 февраля 2011

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

...