在我的OdataController中,我暴露了实体Customer(作为示例)。 我有一个方法:
Get()
这很好用。 要返回单个实体,我有这个方法:
GetCustomer(int key)
这也很好。
*所以这是我的问题*
GetCustomer是返回单个实体的唯一签名选项吗? 我不确定ODataController如何知道如何解决此方法签名,但我想知道是否有一种通用的方法来定义它。
答案 0 :(得分:1)
默认情况下,GetCustomer将获得Customer.Customer导航属性。现在,您将在stackoverflow上保存一个问题;) Top得到一个实体,你可以使用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);
}
希望它有所帮助。