У меня есть карта наследования, такая как Animal and Cat. Оба класса имеют свою собственную таблицу (отображаемую как объединенный подкласс). Теперь я пытаюсь, чтобы NHibernate сохранял только объект Animal, когда я поставляю объект Cat для сохранения (или сохранения) метода NHibernate.сохраняют только базовый класс с NHibernate
От чтения документации я предположил, что session.Save("Animal", catObject)
должен делать то, что я хочу, но он ведет себя точно так же, как session.Save(catObject)
.
Однако создание нового объекта Animal и копирование значений из объекта Cat работает, но это будет пустой тратой времени и памяти.
Есть ли какая-либо другая возможность достичь того, чего я хочу?
Это плохо пахнет как дизайн. Но я думаю, что вы преждевременно оптимизируете: создание Animal from Cat незначительно как во времени, так и в памяти по сравнению с накладными расходами от использования NHibernate. –