asp.net - ODataQueryOptions 不响应我的自定义类的属性
问题描述
我有这样的实体
public class MyDto
{
public string string1;
public string string2;
public MyCustomClass myCustomClass;
}
我有两个控制器,其中一个完全符合 Odata 的规范,包含所有 CRUD,它们都运行良好。
另一个使用不同的路线来执行类似的 CRUD,如下所示:
[Route('newWay')] //did not use ODateRoutePrefix here
public class SecondController: ODataController
{
[HttpPost]
[Route('create')]
public async Task<IActionResult> Create(...);
[HttpPatch]
[Route('update')]
public async Task<IActionResult> Update(...);
/* Here's the problem */
[HttpGet]
[Route('get')]
[EnableQuery]
public async Task<IQuerable<MyDto>> Get(ODataQueryOptions<MyDto> option);
/* Here's the problem */
}
当这样的帖子时newWay/get?$select=myCustomClass
,它会显示一个像这样的空 Dto
[]
当这样的帖子时newWay/get?$select=myCustomClass,string1
,它只显示这样的string1
[
"string1": "balabala"
]
但是当我在没有选择属性的情况下发布时,它可以正确返回所有内容
那么我的第二个控制器会发生什么?