У меня есть сложная база данных 3NF для конкретного проекта. Я хотел бы избежать использования доменного имени класса для таблицы. Скорее, я хотел бы смоделировать свои доменные объекты после того, как они используются с концептуальной точки зрения бизнеса.
Проблема в том, как правильно сохранить эту информацию. Я знаю, что могу пойти по пути ADO, но я бы хотел попробовать NHibernate, успешно применив его в других проектах с более гибкими хранилищами данных.
Итак, мне нужно знать, будет ли NHibernate поддерживать следующий сценарий:
У меня есть концептуальный объект, известный как ProjectStatus, который состоит из нескольких штампов даты для различных действий и некоторых заметок о состоянии. Все данные, которые составляют ProjectStatus, поступают из 2 или более таблиц. Нет таблицы ProjectStatus.
Я знаю, что могу сделать подкласс union в моем отображении NH, чтобы заставить это работать, но ...
Одна из таблиц, которая содержит большую часть необходимой мне информации, имеет составной идентификатор (два поля PK, которые вместе составляют идентификационную подпись). Я знаю, что NH также поддерживает составные идентификаторы, но как я могу сопоставить объединение на составном ключе? Нужно ли указывать составной ключ под разделом union-subclass?
DBA отказалась сдвинуться с места в своей почти невротической модели данных 3NF, поэтому я застрял на этом фронте. Если мне придется упасть в ADO для простоты / скорости разработки, пусть будет так, но я надеюсь, что NH поднимется выше ...