【发布时间】:2012-04-25 15:29:45
【问题描述】:
我有一个 ASP.NET Web API 控制器,它公开了一个 IQueryable(Of String) - 这是一个描述列表。这些字段可能数以万计,因此我使用$top 和$skip 只获取其中的一部分——效果很好。
现在我正在尝试通过 OData substringof('mydesc',Property) 过滤器过滤这些结果。如您所见,它需要我传递一个 Property 名称来进行过滤。但是,由于我返回的是一个字符串列表,因此我实际上没有任何要过滤的属性。
这会导致服务器返回错误,例如
No property or field 'tostring' exists in type 'String' - 使用 $filter=substringof('asd',tostring) 调用时。
如果我将调用更改为$filter=substringof('asd',''),则不会引发错误,但也不会产生任何结果。
我的问题是,我能否以某种方式格式化 $filter 运算符以在我的字符串列表中查找子字符串,而无需查找属性/字段,或者我是否必须声明一个具有单个属性的类,只是为了启用过滤?
【问题讨论】:
标签: linq filter odata asp.net-web-api