Nhibernate查询语法如何过滤子类类型的给定别名

时间:2015-04-16 05:19:34

标签: nhibernate queryover

我使用 discriminator 列将几个类映射为subclasses到表中。但 discriminator 列未映射到任何字段(即使在基类中)。我想创建一个Query(用QueryOver语法),按子类类型进行过滤

E.g。表:

Orders        (Id,OrderType,Amount,Qty...)
// OrderType is the discriminator column

映射类:

DeliveryOrder (Id,Amount,Qty...)
WorkOrder     (Id,Qty,...)
SalesOrder    (Id,Amount,...)

需要类似

的查询

Query.Where(()=> _orderAlias is DeliveryOrder)

1 个答案:

答案 0 :(得分:2)

cool answer Andrew Whitaker我真的记得这个问题:

它显示如下语法:

q = q.Where(b => b.GetType() == typeof(DeliveryOrder));