我正在尝试在 odata 中使用not in运算符。那么支持还是不支持呢?
如果是的话,请举一些例子。
我正在阅读这篇文章并尝试但没有成功。 https://github.com/OData/odata.net/issues/1478
Chr*_*ler 10
链接的 git hub 问题https://github.com/OData/odata.net/issues/1478 中的评论实际上表明对NOT IN的支持有多种变化,即使没有一个运算符。
OData v4 的 .Net 实现确实支持谨慎定义值数组的IN 运算符,它不支持NOT-IN样式运算符,但确实支持NOT和IN。
NOT只是简单地否定表达式结果,但我们也可以NOT通过将表达式结果等同于 来复制该功能false。
我找不到可供共享的公开可用示例,但我的本地项目在执行以下查询时没有任何问题:
尽管是多余的,但第二个查询表明 的结果IN是一个布尔表达式,并且您可以使用更多条件进一步链接该表达式。
~/OData/Facilities?$filter=Entity/Title in ('Abbotsford','test')
~/OData/Facilities?$filter=Entity/Title in ('Abbotsford','test') eq true
Run Code Online (Sandbox Code Playgroud)
返回:
{
"@odata.context": "http://localhost:16486/odata/$metadata#Facilities(FacilityType,Id,Entity(Title))",
"value": [
{
"FacilityType": "None",
"Id": 1081,
"Entity": {
"Title": "Abbotsford"
}
},
{
"FacilityType": "None",
"Id": 2009,
"Entity": {
"Title": "test"
}
},
{
"FacilityType": "None",
"Id": 8046,
"Entity": {
"Title": "test"
}
}
]
}
Run Code Online (Sandbox Code Playgroud)
~/OData/Facilities?$filter=not(Entity/Title in ('Abbotsford','test'))
~/OData/Facilities?$filter=Entity/Title in ('Abbotsford','test') eq false
Run Code Online (Sandbox Code Playgroud)
{
"@odata.context": "http://localhost:16486/odata/$metadata#Facilities(FacilityType,Id,Entity(Title))",
"value": [
{
"FacilityType": "None",
"Id": 1065,
"Entity": {
"Title": "Sleepy Hollow Templestowe Lower"
}
},
{
"FacilityType": "None",
"Id": 13076,
"Entity": {
"Title": "Peach Meadows"
}
}
]
}
Run Code Online (Sandbox Code Playgroud)
如果您的模型具有可寻址集合或数组
| 归档时间: |
|
| 查看次数: |
8899 次 |
| 最近记录: |