如果对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

分类: ABP

【转】ABP源码分析三十八: ABP.Web.Api.OData相关推荐

  1. ABP源码分析三十:ABP.RedisCache

    ABP 通过StackExchange.Redis类库来操作Redis数据库. AbpRedisCacheModule:完成ABP.RedisCache模块的初始化(完成常规的依赖注入) AbpRed ...

  2. 【转】ABP源码分析三十:ABP.RedisCache

    ABP 通过StackExchange.Redis类库来操作Redis数据库. AbpRedisCacheModule:完成ABP.RedisCache模块的初始化(完成常规的依赖注入) AbpRed ...

  3. ABP源码分析三十四:ABP.Web.Mvc

    ABP.Web.Mvc模块主要完成两个任务: 第一,通过自定义的AbpController抽象基类封装ABP核心模块中的功能,以便利的方式提供给我们创建controller使用. 第二,一些常见的基础 ...

  4. 【转】ABP源码分析三十五:ABP中动态WebAPI原理解析

    动态WebAPI应该算是ABP中最Magic的功能之一了吧.开发人员无须定义继承自ApiController的类,只须重用Application Service中的类就可以对外提供WebAPI的功能, ...

  5. 【转】ABP源码分析三十四:ABP.Web.Mvc

    ABP.Web.Mvc模块主要完成两个任务: 第一,通过自定义的AbpController抽象基类封装ABP核心模块中的功能,以便利的方式提供给我们创建controller使用. 第二,一些常见的基础 ...

  6. 【转】ABP源码分析三十九:ABP.Hangfire

    ABP对HangFire的集成主要是通过实现IBackgroundJobManager接口的HangfireBackgroundJobManager类完成的. HangfireBackgroundJo ...

  7. 【转】ABP源码分析三十六:ABP.Web.Api

    这里的内容和ABP 动态webapi没有关系.除了动态webapi,ABP必然是支持使用传统的webApi.ABP.Web.Api模块中实现了一些同意的基础功能,以方便我们创建和使用asp.net w ...

  8. 【转】ABP源码分析三十二:ABP.SignalR

    Realtime Realtime是ABP底层模块提供的功能,用于管理在线用户.它是使用SignalR实现给在线用户发送通知的功能的前提 IOnlineClient/OnlineClient: 封装在 ...

  9. 【转】ABP源码分析二十八:ABP.MemoryDB

    这个模块简单,且无实际作用(该模块用于支持ABP框架单元测试的).一般实际项目中都有用数据库做持久化,用了数据库就无法用这个MemoryDB 模块了.原因在于ABP限制了UnitOfWork的类型只能 ...

最新文章

  1. mysql激活指令_MySQL命令大全
  2. 微博feed系统的推(push)模式和拉(pull)模式和时间分区拉模式架构探讨
  3. 计算机科学 44(6a 增刊,窃昕攻击下子空间码的安全性-计算机科学.PDF
  4. (GIT)代码分支管理策略
  5. JVM调优:指定垃圾回收器组合
  6. java链表实现_数据结构——基于java的链表实现(真正理解链表这种数据结构)...
  7. PHP在WPS中的应用,PHP+Laravel的简单应用教程【ajax的使用】,wps的使用教程
  8. 二分法分页 mysql_LeetCode 04寻找两个正序数组的中位数(困难)二分法
  9. c语言上机指导答案清华,第一章自测练习答案清华大学c语言习题实验指导及课程设计...
  10. QQ和微信使用到的网络协议
  11. InvocationTargetException 浅析
  12. 基于php mysql技术_基于PHP和MySQL技术的网络教学平台构建
  13. matlab fir带通滤波,基于Matlab的FIR带通滤波器设计与实现
  14. android显示emoji,android兼容emoji显示以及检测是否支持emoji
  15. RDA EQ频响曲线
  16. html删除子元素无效,如何使用JavaScript删除DOM节点的所有子元素?
  17. 猿编程python分为几个阶段_各个阶段的python学习路线?
  18. 编写各种outofmemory/stackoverflow程序
  19. pixi 小游戏_PIXI兼容微信小游戏
  20. ssm在线考试系统设计与实现(论文+程序设计+数据库文件)下载

热门文章

  1. 时钟抖动对高速ADC采样系统的影响
  2. [Zhuan]Lua about
  3. 【Breadth-first Search 】513. Find Bottom Left Tree Value
  4. next_permutation算法(基于交换)
  5. Java学习笔记2——常用类
  6. c语言结构体实现存储信息,用C语言结构体实现通讯录
  7. linux如何创建备份文件,如何备份Linux 配置文件
  8. 收藏夹库计算机网络的关系,云南省计算机一级考试题库 计算机网络及基础.pdf...
  9. mysql一个表几亿数据_如何在mysql 造1亿条记录的大容量数据表?
  10. java random算法_负载均衡--随机算法(Random)