0
我有一个相当标准的WebApi 2.0 OData 4.0 webservice,使用EF5和代码优先的方法。此服务工作,我可以通过外键查询实体和相关实体。WebApi 2.0 OData,获取查询中使用的SQL表的列表
该服务是只读的,控制器只有一个Get和Get-by-key实现。
public class MyTableController : MyDbController
{
[EnableQuery]
public IQueryable<MyTable> Get()
{
return db.MyTable;
}
[EnableQuery]
public SingleResult<MyTable> Get([FromODataUri] int key)
{
IQueryable<MyTable> result = db.MyTable.Where(p => p.pk == key);
return SingleResult.Create(result);
}
}
在这两个Get()实现中,我想要访问在OData中使用的表的列表以及生成的SQL查询。 MyTable显然是其中之一,但我如何获得其他人(其中包括(嵌套)$ expand中使用的其他人)?我可以尝试自己解析URL,但这似乎不是一个很好的解决方法。