nhibernate:为了顺序连接表

时间:2015-12-21 23:07:06

标签: c# sql c#-4.0 nhibernate nhibernate-mapping

我有一个有趣的场景。我有两张桌子说' 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

0 个答案:

没有答案