Конструкторы не являются полиморфными. При работе с уже построенными классами вы можете иметь дело с объявленным типом объекта или любым его подклассом. Это то, на что полезно наследование. Конструктор всегда вызывается для конкретного типа, например new String()
. Гипотетические подклассы в этом не играют никакой роли.
Nhibernate сообщает, что у вас нет сопоставлений для MVCms.Models.Page. Попробуйте проверить конфигурацию и экспортировать все сгенерированные сопоставления в файлы.