过滤子属性 OData 和 ASPNET WebApi

2024-01-28

我面临一个问题。我用谷歌搜索了很多,也在这里搜索过,但我找不到这个问题的答案。

我有一个ASPNET Web Api返回JSON。我也补充一下微软数据.OData http://www.nuget.org/packages/Microsoft.Data.OData/nuget 允许 odata 查询。

对于简单的情况,它工作得很好,但现在,我需要在子集合中应用过滤器。

Sample:

{"total":1,"products":[{"id":20289,"brandId":5,"categoryId":1,"price":12.0,"name":"Carolina Herrera","description":"CH","productCode":"asd2334","picture":null,"contentPackaging":"liquid","brandName":"Carolina Herrera","brandPicture":null,"generic":true},
{"id":20290,"brandId":5,"categoryId":1,"price":25.0,"name":"Carolina Herrera 2","description":"CH 2","productCode":"asd999","picture":null,"contentPackaging":"liquid","brandName":"Carolina Herrera","brandPicture":null,"generic":true}
]}

例如,我想在产品集合中查询价格大于 20 的情况。

我尝试过这样的事情:

http://domain.com/api/$filter=products/price gt 20

但这没有用。

可以这样做吗?

Code:

//controller
public IQueryable<ViewModelProducts> GetProducts()
{
    var products = _repository.FindBy(x=>x.Generic && x.Status).ToList();

    return products.Count == 0 ? new List<ViewModelProducts>().AsQueryable() : products.AsQueryable();
}

//model
public class ViewModelProducts
{
    public int total { get; set; }
    public IQueryable<Products> products { get; set; }
}

public class Products
{
    public int id { get; set; }
    public int brandId { get; set; }
    public int categoryId { get; set; }
    public decimal price { get; set; }
    public string name { get; set; }
    public string description { get; set; }
    public string productCode { get; set; }
    public string picture { get; set; }
    public string contentPackaging { get; set; }
    public string brandName { get; set; }
    public string brandPicture { get; set; }
    public bool generic { get; set; }
}

None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

过滤子属性 OData 和 ASPNET WebApi 的相关文章

  • Web.API MapHttpRoute 参数

    我的 Web API 路由遇到问题 我有以下两条路线 config Routes MapHttpRoute name MethodOne routeTemplate api controller action id type default
  • DbContext.SaveChangesAsync 异常处理

    当搭建新的脚手架时ApiController通过 Visual Studio 2013 中的异步操作和实体框架支持 某些方法可以包装DbContext SaveChangesAsync https msdn microsoft com en
  • 使用 HttpClient 从 webapi 消费 xml

    我使用 WebClient 从 Restfull 服务 net web api 获取 Xml 对象 一切都运行良好 using WebClient client new WebClient client Encoding UTF8Encod
  • ASP.NET Web Api 的事件发布者

    我已经开始使用微服务 我需要创建一个事件发布机制 我计划使用 Amazon SQS 这个想法很简单 我将事件存储在与聚合相同的事务中的数据库中 如果用户更改他的电子邮件 事件UserChangedEmail将被存储在数据库中 我还有事件处理
  • WebApi 添加另一个 Get 方法

    我有一个非常标准的 WebApi 可以执行一些基本的 CRUD 操作 我正在尝试添加一些不同类型的查找 但不太确定它应该如何完成 这是我目前的FoldersController public class FoldersController
  • 为什么WebApi绑定System.Version参数失败?

    UPDATE 解决了 这里没什么可看的 请继续 我有一个ApiController方法需要一个System Version范围 该参数以 JSON 形式在请求正文中传递 这是发送的内容 专业 0 未成年人 7 构建 0 修订 0 主要修订
  • 具有 Windows 身份验证的 ASP.NET Web API 自托管

    我正在尝试将 ASP NET Web API 自托管选项与 Windows 身份验证结合使用 以便我可以确定登录的用户 并最终根据用户的身份接受或拒绝用户 这是我的控制台应用程序代码 using System using System We
  • 如何让 HttpClient 将凭据与请求一起传递?

    我有一个与 Windows 服务通信的 Web 应用程序 托管在 IIS 中 Windows 服务使用 ASP Net MVC Web API 自托管 因此可以使用 JSON 通过 http 进行通信 Web 应用程序被配置为进行模拟 其想
  • ModelState 对于空模型有效

    我有一个具有必需属性的模型对象 public class ApiPing Required public DateTime ClientTime get set public DateTime ServerTime get set 我有一个
  • 防止整数值在 ASP.NET Web API 模型绑定中设置布尔参数?

    我正在开发一个 ASP NET Web API 其中的方法采用以下模型作为输入参数 public InputModel int Id get set bool IsTrue get set 它适用于 true 和 false 值 我尝试检查
  • 如何在 HttpResponseMessage 上设置响应 cookie?

    我想在 Web api 中创建一个演示登录服务 并且需要在响应上设置 cookie 我怎么做 或者有什么更好的授权方式吗 添加参考System Net Http Formatting dll并使用AddCookies中定义的扩展方法Http
  • 静默地将 api 资源移动到另一个 url

    我已经用 WepApi 2 编写的 api 与主网站紧密结合 我决定将其与另一个网络应用程序解耦 以使事情更加隔离 我遵循了这样的步骤 将所有 API 控制器提取到另一个项目 创建属性以将当前使用旧 URL 的所有用户重定向到新 URL 由
  • 对 OData URL 查询启用延迟加载

    回来的时候好像IEnumerable从 Web API 端点 OData 查询 它枚举 在应用查询选项之前进行预先加载 我的意思是 某种类型 public class SomeType public int SomeProp get set
  • 不支持的媒体类型 ASP.NET Core Web API

    在前端 我使用 Angular 从表单收集一些数据并将其发送到我的服务器端控制器 如下图所示 我在控制器和服务上获取数据 scope newData 但是当它到达服务器时 我收到以下错误 不支持的媒体类型 并且我的 newData 为空 我
  • 您可以从 AuthorizeAttribute 返回 HTTP 响应而不引发异常吗?

    我在各种控制器上使用 AuthorizeAttribute 可能需要根据请求本身的某些属性返回 403 或 429 请求过多 我完全在自定义 OnAuthorization 实现中实现了它 然后在必要时抛出一个带有适当响应代码的新 Http
  • 状态代码:404,原因短语:“未找到”,版本:1.1,

    我使用 Web api 自托管 public class TestController ApiController HttpPost public void Testp FromBody string title Console Write
  • AutoMapper.Mapper 不包含 CreateMap 的定义

    这可能是一个基本问题 但想知道我没有得到 AutoMapper Mapper CreateMap 方法 我使用了错误的 AutoMapper 参考 包吗 谢谢 静态版本CreateMap方法在 4 2 中已弃用 然后在版本 5 0 中从 A
  • 从Web API同步调用外部api

    我需要从我的 Web API 2 控制器调用外部 api 类似于此处的要求 使用 HttpClient 从 Web API 操作调用外部 HTTP 服务 https stackoverflow com questions 13222998
  • 从另一台设备访问 Azure 模拟器

    我有两个不同的项目 Windows Phone 8 应用程序 我正在真实的物理开发设备上运行 Azure 云服务 其中包含一个简单的 WebRole 端点 其中包含 ASP NET MVC WebAPI 我的目标很简单 使用从真实设备运行的
  • ASP.NET WebApi - 一个控制器中的多个 GET 操作

    I have Users控制器和基本 REST 模式工作得很好 不过我需要一种额外的模式users id usergroups这将返回该用户的所有用户组 实现这一点的最佳方法是什么 因为我想我将需要在更多控制器上使用类似的路由 仅使用默认值

随机推荐

  • 通过 wicket 下载 zip 文件

    我正在使用 wicket 框架 并且我已经通过 Java 代码制作了一个 zip 文件 我想要一个下载它的链接 我不知道是否可能 或者我应该通过 wicket 但不是 Java 制作 zip 文件然后有一个下载链接 看一眼ZipResour
  • 通过php更新jira中的状态

    我正在使用我构建的电子邮件客户端来更新 jira 任务 我已经成功地通过它更改了受让人和摘要 但我似乎找不到更新状态的方法 以下是我使用的代码 resolution gt id 4 update gt transitions array r
  • 不推荐使用 Int 和 Int 类型参数的恒等式

    仅供参考 这是我在 StackOverflow 上的第一个问题 而且我对 Kotlin 还很陌生 在开发一个完全使用 Kotlin 版本 1 1 3 2 的项目时 我在以下代码中看到一条警告 以及给好奇的小伙子们的评论 Code below
  • 在 scipy 中使用 L-BFGS-B 时出错

    在 scipy optimize minimize 中使用 L BFGS B 方法时 我得到一些令人费解的结果 import scipy optimize as optimize import numpy as np def testFun
  • 从列中提取第一个单词并插入到新列中[重复]

    这个问题在这里已经有答案了 我下面有一个数据框 想要提取第一个单词并将其插入到新列中 Dataframe1 COL1 Nick K Jones Dave G Barros Matt H Smith 将其转换为这样 Dataframe2 CO
  • “PyDevTerminalInteractiveShell”对象没有属性“has_readline”

    我在用Pycharm 2016 1 on CentOS7我正在测试 Show command line afterwards 我遇到了这个问题 AttributeError PyDevTerminalInteractiveShell obj
  • 何时使用 poll C 函数的 POLLOUT 事件?

    我写了一个小型 TCP 服务器socket POLLIN poll recv send 但我不知道什么时候使用POLLOUT轮询或选择writefds轮询可写事件 谁能给我一个实际用法的例子POLLOUT 通常的模式是使用非阻塞文件描述符p
  • 哪种 Java 设计模式最适合 if-else 语句(包括循环)?

    我有一个 7 8 if else 的用例 示例用例 String type List lt Entity gt entityList if type equals A ClassA a new ClassA a performTask fo
  • Laravel/lumen 5.2 从现有数据库生成迁移表

    是否可以从 lumen laravel 5 2 中的现有数据库生成迁移模式 有包吗 我将lumen连接到magento数据库 现在我需要使用eloquent 我没有时间为每个表制作迁移模型 您可以先转储数据库mysql转储 http dev
  • 在 go 中使用curl和命令

    我使用 Go 和命令来执行curl其按预期工作 curl exec Command curl https services odata org V3 northwind northwind svc out err curl Output i
  • Android - getHeight() 和 getWidth()

    我在relativeLayout中动态创建一些ImageView 但我需要尺寸根据屏幕的高度和宽度而变化 在我设置高度时 视图和布局尚未创建 这意味着getHeight and getWidth 返回 0 我查看了 StackOverflo
  • 实体框架 - 通过更改外键更新关系

    我有以下两个模型和 DbContext public class TestDbContext DbContext public IDbSet
  • 通过 SUDS 发送 xml

    我想使用 WSDL 通过 SUDS 发送我的手工构建 xml 我发现我可以这样做 xml Raw
  • MINGW64 上的堆栈测试输出乱码

    我在 Windows 10 上使用 Stack 运行 GHC 并在大部分日常工作流程中使用 Git Bash MINGW64 这包括使用 GHC 和 GHCi 它们通常工作得很好 然而 当我跑步时stack test从 MINGW64 开始
  • 子类中的 Yii 模型行为继承了 AR 模型类

    我已经实施了一个crypt可以附加到 AR 模型的行为类 以便附加属性将以加密形式存储并以解密字符串形式检索 class User extends CActiveRecord public function behaviors return
  • 我怎样才能在qt中获得当前聚焦的QLineEdit?

    我如何识别哪个QLineEdit目前的重点是qt吗 设置焦点QLinEdit我努力了 ui gt linedit gt setfocus 但它也不适合我 我该如何解决这两个问题 要识别哪个焦点控件 QlineEdit 或任何 QWidget
  • 带有自定义匿名比较器的 Java 优先级队列

    如果这是一个尝试过的问题 请原谅我 但我有点难以弄清楚 我目前有一个节点类 每个 节点 都是迷宫中的一个正方形 我正在尝试实现 A 算法 因此每个节点内部都会有一个 f cost int 数据成员 我想知道是否有一种方法可以创建这些节点的优
  • ttk 创建和使用自定义主题

    我正在尝试将可定制的主题选择纳入我的程序中 我一直在参考这个指南 http infohost nmt edu tcc help pubs tkinter web ttk themes html http infohost nmt edu t
  • 在 Woocommerce 的管理订单页面上添加城市下拉列表

    我想将城市下拉列表添加到 woocommerce 中的新订单页面 我知道如何将此功能添加到结帐页面 但在这里我想添加此功能管理新订单页面在 Woocommerce 中 See example image for reference 使用以下
  • 过滤子属性 OData 和 ASPNET WebApi

    我面临一个问题 我用谷歌搜索了很多 也在这里搜索过 但我找不到这个问题的答案 我有一个ASPNET Web Api返回JSON 我也补充一下微软数据 OData http www nuget org packages Microsoft D