使用相关记录自动查询不同的结果

时间:2015-04-15 15:06:58

标签: servicestack ormlite-servicestack

我在SQLite中保存了以下相关的POCO实体。

public class Customer
{
    [PrimaryKey]
    public int Id { get; set; }
    public string Name { get; set; }
    [Reference]
    public List<Order> CustomerOrders { get; set; }
}

public class Order
{
    [PrimaryKey]
    public int Id { get; set; }
    public int CustomerId { get; set; }
    public string Type { get; set; }
    public int Qty { get; set; }
}

将以下AutoQuery与内部联接

一起使用
public class AutoQueryRequest : QueryBase<Customer>, IJoin<Customer, Order>
{
}

如果我有1条客户记录及3条相关订单记录,则内部联接查询将返回3条客户记录(按预期方式)。由于订单已包含在客户实体中,如何使AutoQuery仅返回不同的客户记录(在本例中为1)?

1 个答案:

答案 0 :(得分:1)

您不需要加入订单表以加载OrmLite POCO引用,因为它们会自动加载,因此您的AutoQuery服务只需要查询客户父POCO,例如:

public class QueryCustomers : QueryBase<Customer> {}