如何在NHibernate中查询特定实体的类?
我基本上想要一个投影,返回符合条件的每一行的System.Type。
我查看了Get subclass type from projection with NHibernate但是当我创建Projections.Property("alias.class")
或Projections.Property("class")
时,我总是得到could not resolve property 'class'
。
答案 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存储在字段中。这应该为您提供所需的确切功能。