【问题标题】:OData uri for filter collection empty or any eq 4过滤器集合的 OData uri 为空或任何 eq 4
【发布时间】:2013-09-25 22:06:24
【问题描述】:

使用 OData,如何制作此过滤器?

我的班级:

public class Aviso
{
    public int Id { get; set; }
    public virtual ICollection<User> Destinatarios { get; set; }
    public string Url { get; set; }
}

URI 尝试:/odata/avisos?$filter=(Destinatarios eq null or Destinatarios/count eq 0 or Destinatarios/any(it:it/Id eq 4) )

目标是返回任何 Destinatarios 为 4 或集合为空(或 null)的位置。

【问题讨论】:

    标签: c# asp.net-web-api odata asp.net-web-api-odata


    【解决方案1】:

    试试,

    /odata/avisos?$filter=not Destinatarios/any() or Destinatarios/any(d: d/Id eq 4)
    

    您不需要空值检查,因为我们会为您处理空值传播。此外,拥有空集合通常不是一个好习惯,因为它会导致空集合和空集合之间的混淆。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-19
      相关资源
      最近更新 更多