Нужно использовать специальное свойство class
, которое хранит тип загружаемой сущности. Это свойство можно использовать в HQL или Criteria API:
var list = session
.CreateCriteria(typeof(BaseClass))
.Add(Restrictions.Disjunction()
.Add(Restrictions.Eq("class", typeof(ClassB)))
.Add(Restrictions.Eq("class", typeof(ClassC))))
.List<BaseClass>();