我有ASP.NET Core WebApi和启用了odata查询的端点。当MyDataResponse
包含许多子对象并使用端点中的LINQ Select逐字段从MyDataEntity
创建时,Endpoint返回IQueryable<MyDataResponse>
。
大多数使用$filter
的odata查询都可以正常工作。HttpGet通过所有字段、所有childObject/fields
和枚举使用$filter
进行查询效果良好。除了$filter
和childObject/EnumField
外,它都有500个错误:
{
"status": 500,
"traceId": "00-deecb3ed2db91a408a21b51f80bf95e4-96af3e47d32e8e4c-00",
"errors": {
"message": [
"Exception has been thrown by the target of an invocation."
]
}
}
我试着把childObject/EnumField
作为父字段,它成功了!但我需要childObject/EnumField
访问。
你能解释一下为什么它会出现500服务器错误吗?我该怎么修?
我不明白为什么会出现错误。但我发现正确的请求-$expand=childType($filter=EnumField eq 'EnumValue')