首页 > 解决方案 > 为什么 Abp.AspNetCore.OData 需要 services.AddOData()?

问题描述

在 aspnetboilerplate 文档中是关于如何使用 Abp.AspNetCore.OData 模块的教程。我研究这个模块作为创建我自己的 GraphQL 模块的参考。但是,我对为什么在声明对 OData 模块的依赖后仍然需要显式配置服务感到有些困惑

services.AddOData();

在实际 Asp.NET Core 项目的 Startup 类中?

当然,它是必需的,因为 Abp.AspNetCore.OData 模块不这样做。但是,ABP 的模块系统在使用 DependsOn 属性声明对特定模块的依赖项时自动注册所有依赖项的想法的重要部分不是吗?这样,在 ABP 模块中的封装似乎有些无用。

标签: odataaspnetboilerplate

解决方案


services.AddOData()在 Startup.cs 中调用;它需要在 ABP 模块中调用。

通常,services.AddXxx()调用取决于较早添加的其他服务。

并非所有这些服务都将成为 ABP 模块,因此无法确保按照服务需要和开发人员想要的顺序调用它们。


推荐阅读