错误的鉴别器值 - 使用的类型名称而不是映射值

时间:2012-09-13 08:38:14

标签: nhibernate nhibernate-mapping

我有一个问题:

        return session
            .QueryOver(() => packageItem)
            .JoinAlias(() => packageItem.Package, () => package)
            .Where(() => package.CicleId == cycle.ID && package is GlobalPackage)
            .List();

当它发出时,这就是我得到的条件:

(package1_.Cicle_ID = @ p0和 package1_.Lac_ID = @ p1 ); @ p0 = 5 [类型:Int32(0)],@ p1 =' CIPNet .Model.Domain.GlobalAdvisoryPackage' [类型:字符串(4000)]

但是,这是基类映射文件中的鉴别器条件:

<discriminator column="Lac_ID" not-null="false" />

和子类配置:

<subclass name="GlobalPackage" discriminator-value="null">
</subclass>

为什么NHibernate不会发出where子句,如: LAC_ID IS NULL ?当我进行常规查询时,我得到了where where子句,但是使用运算符,我得到类型名称而不是 NULL 检查。

由于

0 个答案:

没有答案