NHibernate继承 - 判别器 - 值

时间:2009-11-03 02:48:54

标签: c# nhibernate

是否有可能在NHibernate中使用这样的鉴别器?

如果值等于String.Empty - > 1类 否则 - >等级2

我已经有了CultureName的字符串列,我想将它用作鉴别器。我不想添加额外的布尔列。 如果CultureName是String.Empty,那么我想要一个类,否则另一个类。

如果不可能,你能帮我找到办法吗?

我正在使用xml映射(不是Fluent NHibernate)。

我正在搜索的内容类似于else(默认)情况下的通配符,因此我可以像这样映射:

<subclass name="Class1" discriminator-value="">
<subclass name="Class2" discriminator-value="*">

2 个答案:

答案 0 :(得分:7)

您可以将鉴别器论坛添加到主要类

&lt; discriminator formula =“当discriminatorID =''然后其他1结束时的情况”/&gt;

然后

&lt; subclass name =“Class1”discriminator-value =“1”&gt;

&lt; subclass name =“Class2”discriminator-value =“2”&gt;

答案 1 :(得分:0)

你应该查看指定here的table-heirarchy映射策略,它指定如何为类映射使用discriminator列。