如何使用OData返回子节点的数量

时间:2018-10-29 09:43:54

标签: c# entity-framework odata asp.net-core-2.0 ef-core-2.1

我有2个实体CustomerTransaction,在我的edm中,我创建了Customer.Transactions之间的连接。一切正常,我可以使用odata和以下

查询客户集合

http://localhost:5000/odata/v1/customers/2000011278?$expand=transaction

我的控制器功能如下所示

    [EnableQuery]
    public IActionResult Get(int key)
    {
        var customer = context.Set<Customer>().Where(c => c.BusinessIdentifier == key);
        return Ok(customer);
    }  

问题:

我正在寻找如何获取每个客户的Transactions计数。

当我尝试这样的操作时,它会失败

http://localhost:5000/odata/v1/customers/2000011278?$expand=transactions/$count

"message": "The query specified in the URI is not valid. Found system token '$count' in select or expand clause 'transactions/$count'.",

如果我这样做:

http://localhost:5000/odata/v1/customers/2000011278?$expand=transactions($count=true;)

我看不到它返回任何计数。

可以请我解释一下如何定义URI来获取客户的交易计数。

0 个答案:

没有答案