过滤子属性 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 的相关文章

随机推荐

  • 通过 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