Я относительно новичок в NHibernate, но использую его в последних нескольких программах, и мне это очень нравится. Я пришел к ситуации, когда мне нужно объединить данные из 4-5 баз данных в единую базу данных. В частности, это данные о серийном номере. Каждая база данных будет иметь свой собственный файл сопоставления, но в конечном итоге все сущности имеют одну и ту же базовую структуру (последовательный класс).
Я понимаю, что NHibernate требует сопоставления для каждого класса, поэтому моей первоначальной мыслью было иметь базовый последовательный класс, а затем наследовать от него для каждой другой базы данных и создать уникальный файл сопоставления (унаследованный класс будет иметь нулевое содержимое). Это должно отлично работать для захвата всех данных и заполнения объектов. Затем я хотел бы сохранить эти унаследованные классы (не знаю, какой термин правильный) в таблице базовых классов, используя сопоставление базовых классов.
Проблема в том, что я понятия не имею, как заставить NHIbernate использовать определенный файл сопоставления для объекта. Приведение унаследованного класса к базовому классу ничего не дает при использовании session.save () (он жалуется на отсутствие сопоставления).
Есть ли способ явно указать, какое отображение использовать? Или мне не хватает какого-то принципала ООП, чтобы более конкретно привести унаследованный класс к базовому классу? Или это просто плохая идея.
Все вещи о наследовании, которые я смог найти в отношении NHibernate (глава 8), не кажутся полностью применимыми к этой функции, но я могу ошибаться (таблица для каждого конкретного класса выглядит полезной, но я могу '' Я полностью обдумываю, как NHibernate понимает, что делать).