Отображение nhibernate на несколько баз данных, которые совместно используют схему, но не данные
У меня есть несколько баз данных, которые должны быть активны одновременно. Они разделяют схему, но не данные.
AFAIK nhibernate использует тип класса, чтобы знать, с каким отображением и базой данных он связан, верно? Поэтому, как только он получает объект, он не будет знать, принадлежит ли он базе данных a или b.
Я думаю, что это можно решить с помощью наследования, но это настоящая боль, поскольку существует около 10 различных баз данных...
Есть идеи, как это можно решить с помощью nhibernate (burrow)?
Я нашел это, но это не то же самое, что просто выбрать одну базу данных из многих. Мне нужно, чтобы они открывались одновременно с использованием разных данных.
Я также посмотрел на NHibernate.Shards, но это тоже не сработает. Это устаревшие базы данных, которые нельзя изменить.
1 ответ
Если сопоставления одинаковы для каждой из ваших баз данных, я думаю, что у меня будет экземпляр ISessionFactory для каждой базы данных, сопоставленный с использованием тех же сопоставлений, тогда вы получите ISession из соответствующего для доступа к конкретной базе данных.