我正在开发一个ASP.NET核心WebAPI,它使用EntityFramework访问数据存储。我们需要支持的事情之一是排序和过滤。
我假设HTTP查询字符串将使用过滤和排序的各种条件填充。但是我想看到一些实际的例子,包括相当复杂的过滤/排序功能,过滤器和排序对象的构造,以及EF查询是如何从数据库中获取数据的。
我已经对这个主题做了相当多的搜索,但我所能找到的只是一些不适合于复杂的企业级应用程序的简单示例。
最后,我对OData不感兴趣。这需要是一个标准的REST。
发布于 2016-12-30 21:19:50
这篇博客文章演示了合适的符合REST的查询字符串,特别是:
?sort=created,modified和
?page=2&page_entries=10要创建自定义查询,可以构建自定义SQL字符串并使用EF方法ExecuteQuery()ExecuteQuery()将其提交到数据库,也可以使用Linq添加必要的其中()或OrderBy()条件。
如果使用Linq,可以使用IQueryable语句选择性地向if添加子句,如果希望直接处理查询字符串,可以使用动态Linq,或者使用谓词生成器构建自定义条件谓词。
进一步阅读
https://softwareengineering.stackexchange.com/questions/339169
复制相似问题