IEntity<TPrimaryKey>: 封装了PrimaryKey:Id,这是一个泛型类型

IEntity: 封装了PrimaryKey:Id,这是一个int类型

Entity<TPrimaryKey> :支持主键是泛型类型的Entity

Entity:支持主键是int类型的Entity

IHasCreationTime: 封装了CreationTime

ICreationAudited: 封装了CreatorUserId,这个是long类型

CreationAuditedEntity<TPrimaryKey> : 支持主键是泛型类型的Entity,并且封装了CreationTime 和 CreatorUserId

CreationAuditedEntity: 只支持主键是int类型的Entity,并且封装了CreationTime 和 CreatorUserId

ICreationAudited<TUser> :封装了泛型类型的creator

CreationAuditedEntity<TPrimaryKey, TUser> :  支持主键是泛型类型,并且封装了泛型类型的creator的Entity

ISoftDelete:封装了软删除的标志IsDeleted

IHasDeletionTime:封装了DeletionTime

IDeletionAudited:封装了DeleterUserId,这个是long类型

IDeletionAudited: 封装了泛型类型的DeleterUser

IHasModificationTime:封装了LastModificationTime

IModificationAudited: 封装了LastModifierUserId,这个是long类型

IModificationAudited<TUser> :  封装了泛型类型的LastModifierUser

IAudited:从其父类接口那继承了Creation 和 Modification 的时间和UserID,这个是long类型

AuditedEntity<TPrimaryKey> :支持主键是泛型类型的Entity,并且从其父类接口那继承了Creation 和 Modification 的时间和UserID,这个是long类型

AuditedEntity: 与AuditedEntity<TPrimaryKey>的区别就是其只支持主键是int类型的Entity。

AuditedEntity<TPrimaryKey, TUser> :与AuditedEntity<TPrimaryKey>的区别就是其支持泛型类型的LastModifierUser和CreatorUser。

IAudited:从其父类接口那继承了Creation,Modification和delete 的时间和UserID,这个是long类型

FullAuditedEntity<TPrimaryKey> :支持主键是泛型类型的Entity,并且从其父类接口那继承了Creation,Modification和delete 的时间和UserID,这个是long类型

FullAuditedEntity:与FullAuditedEntity<TPrimaryKey>的区别就是其只支持主键是int类型的Entity

FullAuditedEntity<TPrimaryKey, TUser> :与FullAuditedEntity<TPrimaryKey>的区别就是其支持泛型类型的LastModifierUser,CreatorUser 和 deleteuser。

以下是最终的类层次结构。

返回ABP源码分析系列文章目录

【转】ABP源码分析十四:Entity的设计相关推荐

  1. 【转】ABP源码分析十:Unit Of Work

    ABP以AOP的方式实现UnitOfWork功能.通过UnitOfWorkRegistrar将UnitOfWorkInterceptor在某个类被注册到IOCContainner的时候,一并添加到该类 ...

  2. 【转】ABP源码分析十九:Auditing

    审计跟踪(也叫审计日志)是与安全相关的按照时间顺序的记录,它们提供了活动序列的文档证据,这些活动序列可以在任何时间影响一个特定的操作. AuditInfo:定义如下图中需要被Audit的信息. Aud ...

  3. 【转】ABP源码分析十六:DTO的设计

    IDTO:空接口,用于标注Dto对象. ComboboxItemDto:用于combobox/list中Item的DTO NameValueDto<T>/NameValueDto:用于na ...

  4. 【转】ABP源码分析十五:ABP中的实用扩展方法

    类名 扩展的类型 方法名 参数 作用 XmlNodeExtensions XmlNode GetAttributeValueOrNull attributeName Gets an   attribu ...

  5. 【转】ABP源码分析十八:UI Inputs

    以下图中描述的接口和类都在Abp项目的Runtime/Validation, UI/Inputs目录下的.在当前版本的ABP(0.83)中这些接口和类并没有实际使用到.阅读代码时可以忽略,无需浪费时间 ...

  6. 【转】ABP源码分析十二:本地化

    本文逐个分析ABP中涉及到localization的接口和类,以及他们之间的关系.本地化主要涉及两个方面:一个是语言(Language)的管理,这部分相对简单.另一个是语言对应得本地化资源(Local ...

  7. GCC源码分析(十四) — rtx结构体,指令与栈分配

    版权声明:本文为CSDN博主「ashimida@」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明. 原文链接:https://blog.csdn.net/lidan1 ...

  8. [Abp 源码分析]十六、后台作业与后台工作者

    0. 简介 在某些时候我们可能会需要执行后台任务,或者是执行一些周期性的任务.比如说可能每隔 1 个小时要清除某个临时文件夹内的数据,可能用户会要针对某一个用户群来群发一组短信.前面这些就是典型的应用 ...

  9. 【转】ABP源码分析一:整体项目结构及目录

    ABP是一套非常优秀的web应用程序架构,适合用来搭建集中式架构的web应用程序. 整个Abp的Infrastructure是以Abp这个package为核心模块(core)+15个模块(module ...

最新文章

  1. Storm Trident示例function, filter, projection
  2. 深度学习-强化学习-图神经网络-自然语言处理等AI课程超级大列表-最新版
  3. 导致网速变慢的安全隐患
  4. 下列关于python的描述正确的是-下列关于Python的说法,错误的是()。_学小易找答案...
  5. 【C++ 语言】引用 ( 引用简介 | 指针常量 | 常量指针 | 常引用 | 引用参数 | 引用 指针 对比 )
  6. java 引用队列_Java中的方法队列
  7. MySQL 数据库命令之 mysqlshow -- 显示 MySQL 数据库相关信息
  8. Spring 定时任务的几种实现
  9. 利用日志传送来实现数据库的可用性
  10. Hibernate的执行流程——SessionFactory的创建
  11. Springboot 应用部署建议
  12. 程序员面试金典——3.3集合栈
  13. C++之std::bind()用法
  14. hsql mysql_HSQL简介
  15. 计算机不驱动u盘启动,电脑U盘驱动没有启用的解决方法
  16. OpenGL 4.0 GLSL 采用平行光照模型
  17. WebBrowser抓图示例——截取网页上的验证码图片
  18. PYTHON MIP 算法实现
  19. FPGA零基础学习:数字通信中的电压标准
  20. 南非监管机构严厉打击Facebook的联系人共享

热门文章

  1. 诗词歌赋,样样精通!诗词古语小程序带你领略魅力古风丨实战
  2. 新功能:php-laravel记录来访人员的IP以及所在区域
  3. java中的Sort函数,你值得看
  4. 前端现在到底需要什么样的人才
  5. ASP.NET 安全认证(二)——灵活运用deny与allow 及保护.htm等文件
  6. GARFIELD@04-02-2005
  7. [小错误][JAVA][数组初始化]数组静态初始化和动态初始化不能混用
  8. pythonxml模块高级用法_Python利用ElementTree模块处理XML的方法详解
  9. golang 没有名字参数_Go 返回参数命名
  10. mysql参数化查询为什么可以实现_为什么参数化SQL查询可以防止SQL注入?