1

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

Get()

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

GetCustomer(int key)

这也很好用。

*所以这是我的问题*

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

4

1 回答 1

1

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

假设 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);
}

希望能帮助到你。

于 2015-02-24T07:09:52.190 回答