OData $Expand 与 1-many 关系给出参数不匹配异常

OData $Expand with 1-many relation gives Argument do not match exception

我正面临 OData Expand 的问题。有两个基本的实体,一个是Parent实体,一个是Children实体。父子关系是1-N。

对应的 dto 也有相同的 mapper。 .NetCore APi 应用程序有 EFcoreautomapper全部为最新版本。示例可在此处获取 https://github.com/shoguns6/ODataIssue

问题: APi 如果获得 Parent dto,则可以正常工作。但是当我在 Api 中指定 $expand=children 时,它给出了著名的 'Arguments do not match' 错误。

期望:父项及其子项被检索并显示给 user/browser。

看到许多 post 与同一问题相关,他们声称已经给出了解决方案。但是对于所有的最新版本(EFCore、Autommaper、.Netcore),问题仍然存在。

你能告诉我这里犯了什么错误吗?

请参考这篇link。这是一个已知问题,并且有可用的 nugget。 技巧是有效地定义映射器并使用这个库https://github.com/AutoMapper/AutoMapper.Extensions.ExpressionMapping/issues/60