在我正在进行的项目中,我们希望使用OData从前端查询我们的数据。 问题是前端ODataControllers暴露了项目的DTO,它构建了针对DTO的查询而不是EntityFramework中的实体。
AutoMapper将数据映射到DTO和实体之间。
有没有办法让OData控制器映射查询,以便它们查询EF实体而不是DTO?
答案 0 :(得分:1)
AutoMapper IQueryable extension旨在实现此结果:将DTO / POCO上的OData查询映射到实体上的EF查询。
例如:
在某些情况下,例如OData,通过一个返回泛型DTO IQueryable控制器动作。没有明确的指示, AutoMapper将扩展结果中的所有成员。控制哪个 成员在投影期间展开,在中设置ExplicitExpansion 配置然后传入您想要显式的成员 扩展
你可以尝试一下。