asp.net-mvc - 在 Odata 查询的 $expand 中使用 $filter

标签 asp.net-mvc asp.net-web-api odata

我正在尝试使用像 Odata 查询这样的扩展实体中的过滤器

   https://labstest.science.com/DEV/odata/ROOM_REQUEST?$expand=REQ_COLONYROOM($select=Name;$filter=Name eq 'RB05')

这部分有效。它为名称不等于 RB05 的 REQ_COLONYROOM 带来所有带有 Null 的 ROOM_REQUEST

{
"@odata.context": "https://labstest.science.com/DEV/odata/$metadata#ROOM_REQUEST(REQ_COLONYROOM(Name))",
"value": [
    {
        "Id": 18399308,
        "Name": "M1",
        "Barcode": "M1",
        "REQ_COLONYROOM": null
    },
    {
        "Id": 18403071,
        "Name": "M2",
        "Barcode": "M2",
        "REQ_COLONYROOM": {
            "@odata.id": "https://labstest.science.com/odata/COLONY_ROOM('MC19')",
            "Name": "RB05"
        }
    },
    {
        "Id": 18403109,
        "Name": "M3",
        "Barcode": "M3",
        "REQ_COLONYROOM": null
    }]}

虽然 M1 和 M3 的 Colony 与 RB05 不同,但它通过 odata 调用返回 Null

最佳答案

你有没有试过这样的事情:

 https://labstest.science.com/DEV/odata/ROOM_REQUEST?$expand=REQ_COLONYROOM&$select=REQ_COLONYROOM/Name&$filter=REQ_COLONYROOM/Name eq 'RB05'

我认为没有 SELECT 就足够了:

 https://labstest.science.com/DEV/odata/ROOM_REQUEST?$expand=REQ_COLONYROOM&$filter=REQ_COLONYROOM/Name eq 'RB05'

关于asp.net-mvc - 在 Odata 查询的 $expand 中使用 $filter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49988592/

相关文章:

wcf - 在运行时更改使用基本身份验证的 OData/WCF 数据服务的连接字符串

JQuery 和 JQuery.Validate "Unable to get property ' 调用'未定义或空引用”错误

使用 RhinoMocks 的 C# 模拟 Request.Browser.MajorVersion

c# - 如何通过Odata实现RetrieveAttributeRequest?

asp.net-web-api - 如何在 dotnet core web api 中设置起始页?

asp.net - 无法从非 Windows 计算机远程连接到 IIS Express

odata - Azure 搜索 : Group By or Distinct in OData context/Query?

asp.net-mvc - 如何在ASP.NET MVC中实现自己的错误 View

c# - 许多模型可以查看许多局部 View

c# - 从控制台应用程序启动 ASP.NET Core Web API