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,但這似乎不是一個很好的解決方法。