流畅的NHibernate映射鉴别器

时间:2013-05-24 18:05:44

标签: sql fluent-nhibernate mapping subclass

我需要为父类设置多个判别值。有可能吗?怎么做?

例如:

PARENT_CLASS

DiscriminateSubClassesOnColumn("COLUMN_NAME", "X");

CHILD_CLASS_1

DiscriminatorValue("Y");

CHILD_CLASS_2

DiscriminatorValue("Z");

这是可能的。但是如果我在"COLUMN_NAME"列中有超过这3个值的话呢?

例如,如果“P”和“Q”也是该列的可能值,我应该写什么?

DiscriminateSubClassesOnColumn("COLUMN_NAME", "X","P","Q");显然这是不可能写的。但我不知道该怎么做。

1 个答案:

答案 0 :(得分:4)

CASE的语法可能因不同的sql数据库而异[/ p>

DiscriminateSubClassesOnColumn("").Formula("CASE COLUMN_NAME WHEN 'P' THEN 'X' WHEN 'Q' THEN 'X'  DEFAULT COLUMN_NAME");