Отображение таблицы на иерархию, когда подклассы имеют необнуляемые поля?

У меня есть иерархия классов с абстрактным базовым классом и 4-5 подклассами. Я хочу использовать метод отображения таблицы иерархии классов в NHibernate, чтобы сопоставить их с одной таблицей базы данных, чтобы уменьшить количество соединений, генерируемых моими запросами.

Однако один из этих подклассов обладает свойством not-null, которого нет у других подклассов. Это означает, что всякий раз, когда я пытаюсь сохранить сущность одного из этих других подтипов, я получаю ошибку SQL, говорящую, что отсутствующее поле не может быть нулевым.

Означает ли это, что таблица на иерархию просто несовместима с моей моделью предметной области, или мне нужно что-то еще сделать?

1 ответ

Решение

Что вы ожидаете, что это поле будет содержать для классов, которые не имеют этого свойства?

Поскольку это, вероятно, NULL, вы должны просто сделать его обнуляемым, но проверить его в своей модели / бизнес-логике.

Другие вопросы по тегам