Я немного искал и ничего не нашел.Можно ли создать запрос Hibernate для возврата набора объектов на основе дискриминатора?
У меня есть класс AbstractUser, который расширен конкретными классами UserTypeA и UserTypeB.Я использую модель таблицы на иерархию для сопоставления своих классов в NHibernate, поэтому UserTypeA и UserTypeB хранятся в одной таблице с разными значениями дискриминатора.Вот мое свойство сопоставления дискриминатора:
<discriminator column="Type" type="string"/>
В моей таблице есть столбец, содержащий имя типа пользователя.Мне интересно, возможно ли выполнить запрос NHibernate, используя это.
Я пробовал это:
public IList<DomainBase> FindByType(string typeName, Type type)
{
string query = "from " + type.Name + " k where k.Type = " + typeName;
return Session.CreateQuery(query).List<DomainBase>();
}
Но так как тип на самом деле не является свойством класса, простотаблица, это, очевидно, не работает.Казалось бы излишним иметь как свойство для этой цели, так и дискриминатор, если нет способа использовать свойство в качестве дискриминатора?