繁体   English   中英

OData v4 WebAPI - 从 ODataController 获取实体

[英]OData v4 WebAPI - Get entity from ODataController

在我的 OdataController 中,我公开了实体 Customer(例如)。 我有一个方法:

Get()

这工作得很好。 要返回单个实体,我有这个方法:

GetCustomer(int key)

这也很好用。

* 所以这是我的问题 *

GetCustomer 是返回单个实体的唯一签名选项吗? 我不确定 ODataController 如何知道如何解析此方法签名,但我想知道是否有通用方法来定义它。

默认情况下,GetCustomer 将获得 Customer.Customer 导航属性。 现在,您将在 stackoverflow 上保存一个问题;) Top 获取单个实体,您可以使用 Get(int/string key) 如下:

假设 db 是您的 db 上下文实例

[EnableQuery]
public IQueryable<Customer> Get()
{
    return db.Customers;
}

[EnableQuery]
public SingleResult<Customer> Get([FromODataUri] int key)
{
    IQueryable<Customer> result = db.Customers.Where(p => p.Id == key);
    return SingleResult.Create(result);
}

希望能帮助到你。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM