我有一个ASP.NET Core 1.1 Web项目.
我已经安装了Microsoft.OData.Core,并在http://odata.github.io/下链接了"Getting Started" .
该页面上的以下链接均适用于.Net 45
这个月的旧答案链接到Microsoft.AspNetCore.OData,它不归Microsoft所有,最近一年前更新过.
这个SO答案暗示"ASP.net核心中的OData支持"
我看到这个第三方解决方案AutoODataEF.Core自动生成控制器.
最后,我看到这个git问题表明ASP.Net Core的OData WebAPI即将推出,但最终目前无法使用.
假设我有一个Person模型和一个EF DbContext.
如何实现最小的OData控制器?
我正在使用Restier,它位于Entity Framework和Web API之上.当我使用$ top运算符拨打电话时:
/entitySet?$top=10
Run Code Online (Sandbox Code Playgroud)
拦截器调试器捕获的结果查询如下:
LOADMEMORYQUERY 'SELECT * FROM [entitySet] /*EntityFramework Load MemoryQuery*/';MEMORYQUERY [entitySet] 'SELECT * FROM [entitySet] LIMIT 10'
Run Code Online (Sandbox Code Playgroud)
最终会针对以下数据库运行第一个查询:
SELECT * FROM [entitySet]
Run Code Online (Sandbox Code Playgroud)
如何避免LOADMEMORYQUERY调用?这是一个非常大的数据集,我宁愿只从数据库中提取我需要的东西.