NHibernate:投影实体的子类型

时间:2010-08-06 11:08:35

标签: nhibernate criteria

如何在NHibernate中查询特定实体的类?
我基本上想要一个投影,返回符合条件的每一行的System.Type。

我查看了Get subclass type from projection with NHibernate但是当我创建Projections.Property("alias.class")Projections.Property("class")时,我总是得到could not resolve property 'class'

3 个答案:

答案 0 :(得分:1)

Projections.Property("class")是可能的,它可以工作,但前提是该类有鉴别器。

我得到了团队成员的回答(Denis Bykov) 不幸的是,我很难让他回答这里,所以我可以授予他声誉。

答案 1 :(得分:0)

我认为这不可能直接使用NHibernate;但请考虑将以下内容添加到基础实体类中(假设您有一个):

protected virtual Type GetTypeUnproxied() {
    return GetType();
} 

查询实体后,可以查询此属性以返回实体的实际CLR类型。

答案 2 :(得分:0)

如果您无法通过NHibernate访问该类型以进行投影,可能您可以使用custom user type将System.Type存储在字段中。这应该为您提供所需的确切功能。