|
|
1
1
可以映射使用鉴别器列作为公式一部分的只读属性。查询此列将允许您区分具有当前nhcontrib提供程序的类型。 在我对类似问题的回答中可以找到进一步的指导。 here . |
|
|
2
11
新提供程序支持此功能:
|
|
|
3
1
与nh 2.1.2兼容的linq-to-nhibernate版本不支持在运行时按类型查询。
您可以按照注释中的建议在内存中执行此操作:
通过执行query.tolist(),您将读取所有白色动物,然后使用linq to对象执行类型查询。(取决于您的确切查询和映射,您可能需要担心懒惰的代理,因此检查对象的类型是否可以分配给所需的类型。)这确实有一个主要的缺点,即为了在内存中按动物类型过滤,读取的数据比需要的要多。根据您的域和查询,这可能是一个大问题,也可能不是一个大问题。 如果您不能升级到nhibernate主干(即nh3),我建议您不要为此查询使用linq to nhibernate,而是使用条件。
注意,这应该是显而易见的,但让我明确地陈述一下。您没有理由不能使用此查询的条件以及Linq to nhibernate用于其他查询。您可以在nhibernate中自由混合匹配查询技术。 |
|
|
Nico Pizzo · 子查询上的nhibernate联接 8 年前 |
|
|
YMC · 无法在Nhb 4中构建只有特定字段可供选择的2个表联接 8 年前 |
|
|
Stu · 具有特定类型的字符串外键的NHibernate映射 8 年前 |
|
|
Zout · 为Hibernate的HiLo算法管理的列生成ID 8 年前 |