如果对OData不熟悉的话可参考OData的初步认识一文以获取OData的一些初步知识。
API.Odata 模块唯一用处就是提供了一个泛型版本的ODataController,实现了Controller代码的常用。
AbpODataEntityController<TEntity, TPrimaryKey>:使用ABP的repository和UOW完成实体的CRUD操作。
AbpODataEntityController<TEntity>:主键为int类型的AbpODataEntityController。
AbpWebApiODataModuleConfiguration,IAbpWebApiODataModuleConfiguration:用于配置ODataConventionModelBuilder对象
AbpWebApiODataModule:完成ABP中常规的依赖注入,及ODataModel的生成。所有实际项目中entity的配置必须在PreInitialize方法中完成。如果在Initialize方法中去配置entity是无效的。因为ODataModelBuilder.GetEdmModel()已经执行完毕。
通过继承AbpODataEntityController<TEntity>轻松实现OdataController