ABP框架学习记录(13)- Entity解析
Entity
在ABP项目中的目录位置:
Entity
IEntity<TPrimaryKey>
:封装了PrimaryKey:Id,这是一个泛型类型,所有的实体都必须实现此接口;
IEntity
: 继承 IEntity<int>
泛型接口;
Entity<TPrimaryKey>
:继承 IEntity<TPrimaryKey>
接口的基础实现,支持主键是泛型的实体,该类重写了Equals
,GetHashCode
,ToString
方法和==
,!=
运算符。
Entity
:主键是int类型的Entity;
IEntityTranslation
:实体语言转化;
IEntityTranslation<TEntity, TPrimaryKeyOfMultiLingualEntity>
: 实体语言转换泛型类,TPrimaryKeyOfMultiLingualEntity
为主键类型;
IEntityTranslation<TEntity>
:实体语言转换泛型类,继承 IEntityTranslation<TEntity, int>
接口;
IMultiLingualEntity<TTranslation>
:多语言实体,其中 TTranslation
类型约束为 IEntityTranslation
;
IEntityTranslation<>
接口的实现,表明当前实体可以被翻译:
IMultiLingualEntity<>
接口的实现,表示有多语言的实现:
使用:
IExtendableObject
:使用 Json 格式的字符串属性,以扩展对象/实体。
ExtendableObjectExtensions
:针对扩展字段属性的扩展类;
IAggregateRoot
:聚合根接口
AggregateRoot
:聚合根实现
IMayHaveTenant
:为可能选择具有TenantId的实体实现此接口。
IMustHaveTenant
:为必须具有TenantId的实体实现此接口。
IPassivable
:此接口用于使实体主动/被动。
ISoftDelete
:用于标准化软删除实体。
EntityCache
IEntityCache<TCacheItem, TPrimaryKey>
:定义实体缓存接口,此接口为泛型类型;
IEntityCache<TCacheItem>
:继承 IEntityCache<TCacheItem, int>
接口;
EntityCache<TEntity, TCacheItem, TPrimaryKey>
:实体缓存类;
Auditing
IAudited
:定义实体的审计接口,保存/更新时自动设置相关属性
IAudited<TUser>
:审计接口。
ICreationAudited
: 审计创建者接口,保存到数据库时,会自动设置创建时间和创建者用户。
IDeletionAudited
: 删除时审计信息
IFullAudited
:完全审核信息。
IHasCreationTime
:如果必须存储实体,则可以实现此接口,自动设置;
IHasDeletionTime
:如果必须删除实体,则可以实现此接口,自动设置;
IHasModificationTime
:更新实体时间;
IModificationAudited
:实体更新人信息;
AuditedEntity
:审计实体;
CreationAuditedEntity
:创建者审计实体;
FullAuditedEntity
:全部审计信息实体;
AuditedAggregateRoot
:审计聚合根
CreationAuditedAggregateRoot
:创建者审计 聚合根;
FullAuditedAggregateRoot
:全部审计信息 聚合根;
EntityAuditingHelper
:实体审计帮助类;
参考: