CRUDServiceBaseTEntity, TKey, TInput, TFilter Class

CRUD 服务泛型抽象基类。

Definition

Namespace: QuickAdmin.Service
Assembly: QuickAdmin.Net (in QuickAdmin.Net.dll) Version: 1.2.33
C#
[NotUseDI]
public abstract class CRUDServiceBase<TEntity, TKey, TInput, TFilter> : ICRUDService<TEntity, TKey, TInput, TFilter>, 
	IPagingService<TEntity, TKey, TFilter>, IOperationLogModule
where TEntity : class, object, IEntityWithIdKey<TKey>
where TInput : class
Inheritance
object    CRUDServiceBaseTEntity, TKey, TInput, TFilter
Derived
Implements
ICRUDServiceTEntity, TKey, TInput, TFilter, IOperationLogModule, IPagingServiceTEntity, TKey, TFilter

Type Parameters

TEntity
实体类型。必须是一个 IEntityWithIdKeyTKey 类型。
TKey
主键数据类型。
TInput
输入类型。
TFilter
过滤器类型。

Remarks

通用 CRUD 服务需要一个实体设计三个类型:实体类型、输入类型和过滤器类型。输入类型可以直接就用实体类型或者单独设计,视情况而定。 实体类型必须是一个 IEntityWithIdKeyTKey 类型。 TEntityTInput 若不同必须用 AutoMapper 建立可互相转换的映射关系。

继承类需要重写应用 TFilter 过滤器的方法 ApplyFilterAsync(ISelectTEntity, TFilter)

本类内对增删改查操作相关方法都进行了分解,以便于在继承类中进行重写定制。

Constructors

CRUDServiceBaseTEntity, TKey, TInput, TFilterInitializes a new instance of the CRUDServiceBaseTEntity, TKey, TInput, TFilter class

Properties

Public Properties

OPModule 获取本服务对应操作模块的名称。
OPObject 获取本服务操作的对象的名称,即 TEntity 的显示名称。

Protected Properties

DefaultOrderBys 获取默认排序字段。
DefaultSortListDescending 获取一个布尔值,指示是否默认为降序排序。
exService 异常日志服务。
fsql 获取本服务要操作的数据所用的 IFreeSql 实例。
IDeleteObj 获取 IDelete 对象。
IncludePropertyNamesForISelect 获取一个字符串数组,指示在查询时要贪婪加载的属性。
ISelectObj 获取 ISelect 对象。
IUpdateObj 获取 IUpdate 对象。
logger 系统日志。
mapper IMapper 对象。
opLogService 操作日志服务。
SetEntityOperatorName 获取一个布尔值,指示在查询实体时是否自动填充审计类实体中的操作用户姓名相关属性,如 CreatorNameUpdaterName 等。

Methods

Public Methods

Add 添加实体。
AddAsync 添加实体。
BulkAdd 批量添加实体。
BulkAddAsync 批量添加实体。
BulkDelete 批量删除实体。
BulkDeleteAsync 批量删除实体。
BulkUpdate 批量更新实体。
BulkUpdateAsync 批量更新实体。
Delete(TKey) 删除指定实体。
Delete(TKey) 删除实体。
DeleteAsync(TKey) 删除指定实体。
DeleteAsync(TKey) 删除实体。
DeleteByFilter 删除指定过滤器代表的实体。
DeleteByFilterAsync 删除指定过滤器代表的实体。
Exists 检测指定实体是否存在。
ExistsAsync 检测指定实体是否存在。
Get 获取指定实体。
GetAsync 获取指定实体。
GetDtoPagingOutputTDto 执行查询,并返回指定页码的,把 TEntity 映射为 TDto 后的数据。
GetDtoPagingOutputAsyncTDto 执行查询,并返回指定页码的,把 TEntity 映射为 TDto 后的数据。
GetPagingOutput 执行查询,并返回指定页码的数据。
GetPagingOutputAsync 执行查询,并返回指定页码的数据。
MapFromInput 由实体输入构造实体对象。
MapToInput 由实体对象构造实体输入。
RawCount 按指定过滤条件查询记录数。
RawCountAsync 按指定过滤条件查询记录数。
RawExists 直接检测指定实体是否存在。
RawExistsAsync 直接检测指定实体是否存在。
RawGet 直接获取指定实体。
RawGetAsync 直接获取指定实体。
RawGetSpecificDataTReturn 查找指定实体,并返回指定类型的数据。
RawGetSpecificDataAsyncTReturn 查找指定实体,并返回指定类型的数据。
RawQuery 直接按指定过滤器查询实体列表。
RawQueryAsync 直接按指定过滤器查询实体列表。
RawQueryDtoTDto 查询并返回将 TEntity 映射为 TDto 后的数据列表。
RawQueryDtoAsyncTDto 查询并返回将 TEntity 映射为 TDto 后的数据列表。
Update 更新实体。
UpdateAsync 更新实体。

Protected Methods

AddOperationLog 记录操作日志。
AddOperationLogAsync 记录操作日志。
AfterAdd 添加实体后要进行的操作。
AfterAddAsync 添加实体后要进行的操作。
AfterBulkAdd 批量添加实体后要进行的操作。
AfterBulkAddAsync 批量添加实体后要进行的操作。
AfterBulkDelete 批量删除实体后要进行的操作。
AfterBulkDeleteAsync 批量删除实体后要进行的操作。
AfterDelete 删除实体后要进行的操作。
AfterDeleteAsync 删除实体后要进行的操作。
ApplyFilter 应用指定过滤器。
ApplyFilterAsync 应用指定过滤器。
CanDelete 用于在删除实体前检查该实体当前是否允许删除。
CanDeleteAsync 用于在删除实体前检查该实体当前是否允许删除。
FetchFirst 由 ISelect 执行查询并获取第一个实体。
FetchFirstAsync 由 ISelect 执行查询并获取第一个实体。
FetchList 由 ISelect 执行查询并获取实体列表。
FetchListAsync 由 ISelect 执行查询并获取实体列表。
GetFilteredIDelete 获取应用了指定过滤器的 IDelete 对象。
GetFilteredIDeleteAsync 获取应用了指定过滤器的 IDelete 对象。
GetFilteredIUpdate 获取应用了指定过滤器的 IUpdate 对象。
GetFilteredIUpdateAsync 获取应用了指定过滤器的 IUpdate 对象。
GetIInsert 获取用来插入指定实体的 IInsert。
GetIInsertAsync 获取用来插入指定实体的 IInsert。
GetISelect(PagingInputTFilter) 获取应用了指定参数内的过滤器、排序等选项的 ISelect 对象。
GetISelect(TKey, bool) 获取选取了指定记录的 ISelect 对象。
GetISelectAsync 获取应用了指定参数内的过滤器、排序等选项的 ISelect 对象。
GetIUpdate(TKey) 获取用来更新指定主键对应实体的 IUpdate 对象。
GetIUpdate(TEntity, string) 获取用来更新指定实体的 IUpdate 对象。
GetIUpdateAsync 获取用来更新指定实体的 IUpdate 对象。
OnBulkDelete 执行 SQL 语句,批量删除指定实体。
OnBulkDeleteAsync 执行 SQL 语句,批量删除指定实体。
OnDelete 执行 SQL 语句,删除指定实体。
OnDeleteAsync 执行 SQL 语句,删除指定实体。
PrepareNewEntity 预处理新实体。用于在添加实体时,按需对其进行一些额外的加工。
PrepareNewEntityAsync 预处理新实体。用于在添加实体时,按需对其进行一些额外的加工。
RawExecuteInsert 执行插入实体 Insert 语句的方法。
RawExecuteInsertAsync 执行插入实体 Insert 语句的方法。
RawExecuteUpdate 执行更新实体 Update 语句的方法。
RawExecuteUpdateAsync 执行更新实体 Update 语句的方法。
SetOrderBy 设置排序。
ValidateInput 用于在添加或更新实体时,校验输入是否有效。
ValidateInputAsync 用于在添加或更新实体时,校验输入是否有效。

See Also