使用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或集合为空(或为空)的位置。
答案 0 :(得分:18)
尝试,
/odata/avisos?$filter=not Destinatarios/any() or Destinatarios/any(d: d/Id eq 4)
您不需要空检查,因为我们为您处理空传播。此外,拥有null集合通常不是一个好习惯,因为它会导致null和空集合之间的混淆。