用于过滤器集合空或任何等式 4 的 OData uri

本文关键字:OData uri 任何 过滤器 集合 用于 | 更新日期: 2023-09-27 18:32:19

使用 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)时返回。

用于过滤器集合空或任何等式 4 的 OData uri

尝试,

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

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