我有一个有趣的场景。我有两张桌子说' Order'和'交付'。
订单包含列 - Orderid,Numberofunits,personID,cost,orderdate,status
交付专栏 - DeliveryID,地址,Deliverydate,personID
personID没有一对多(或多对多)属性。
'命令的映射和类别'和'交付'是更大的项目的一部分,无法改变。(改变这将搞乱项目的其他很多部分。)
现在我有一个查询
Order orderalias = null;
var order = session.QueryOver<Order>(() => orderalias )
.Where(() => orderalias .Status == orderalias .Ready)
.OrderBy(() =>orderalias.orderdate).Asc
.Take(4)
.List();
但我必须通过deliverydate joing 2 table来订购。我尝试过使用joinalias,但显然不允许我这样做。 (我没有关联:错误)
我尝试使用&#39; WithSubquery.WhereExists&#39;但我不能在子查询之外使用deliverydate。有没有一种方法可以加入并订购,而无需更改映射和类?
我希望查询类似
select delivery.* from delivery
join order on order.personID = delivery.personId
where order.status = 'ready'
order by order.orderdate, delivery.deliverydate