2013-05-24 4 views
1

Мне нужно установить более одного значения дискриминации для родительского класса. Можно ли и как?Свободный дискриминатор отображения NHibernate

Например:

PARENT_CLASS

DiscriminateSubClassesOnColumn("COLUMN_NAME", "X"); 

CHILD_CLASS_1

DiscriminatorValue("Y"); 

CHILD_CLASS_2

DiscriminatorValue("Z"); 

Это возможно. Но что, если у меня больше этих трех значений в столбце "COLUMN_NAME"?

Например, если «Р» и «Q», также возможные значения для этого столбца, что я должен написать?

DiscriminateSubClassesOnColumn("COLUMN_NAME", "X","P","Q"); Очевидно, что это не возможно писать. Но я не знаю, как это сделать.

ответ

3

синтаксис для случая может изменяться для различных баз данных SQL

DiscriminateSubClassesOnColumn("").Formula("CASE COLUMN_NAME WHEN 'P' THEN 'X' WHEN 'Q' THEN 'X' DEFAULT COLUMN_NAME"); 
Смежные вопросы