ServiceStack AutoQuery,Multiple IJoin

时间:2014-11-06 15:48:47

标签: servicestack ormlite-servicestack

在我的示例中,我有以下数据库结构。 Order有许多OrderLine,其中有一个Product

Image illustrating the above description.

我正在尝试返回以下DTO:

public class OrderLineDto {
   public int Id { get; set; }
   public int Quantity { get; set; }
   public string OrderType { get; set; }
   public string ProductName { get; set; }
}

这应该可以通过使用以下查询路由来实现:

[Route("/orderlines")]
public class FindOrderLines : QueryBase<OrderLine, OrderLineDto>,
  IJoin<OrderLine, Order>, 
  IJoin<OrderLine, Product>
{ }

我在这里要做的是在两个方向上加入OrderLine以从订单引入类型,从产品中引入名称并将其返回到OrderLineDto。

我只能使用一个IJoin来单独执行这些操作,但是AutoQuery似乎只使用第一个IJoin接口声明,并且不执行第二个连接。

如果我尝试这样的加入:IJoin<OrderLine, Order, Product>

我收到以下异常:Could not infer relationship between Order and Product

是否有可能通过自动查询实现我想要做的事情,还是应该回到编写标准REST服务,放弃AutoQuery?

1 个答案:

答案 0 :(得分:1)

我已向ServiceStack提交了拉取请求,现在允许此行为。

https://github.com/ServiceStack/ServiceStack/pull/955