|
@@ -31,4 +31,25 @@ public abstract class BaseRepositoryWorkflow<TEntity> : BaseRepository<TEntity>,
|
|
|
query = query.WorkflowDataFiltering(_dataPermissionFilterBuilder);
|
|
|
return query;
|
|
|
}
|
|
|
+
|
|
|
+ public async Task<string> AddAsync(TEntity entity, CancellationToken cancellationToken = default)
|
|
|
+ {
|
|
|
+ entity.InitDatePermission(_dataPermissionFilterBuilder.DataPermissionManager)
|
|
|
+ .AssignToCreator(_dataPermissionFilterBuilder.DataPermissionManager);
|
|
|
+ var excEntity = await Db.Insertable(entity).ExecuteReturnEntityAsync();
|
|
|
+ return excEntity.Id;
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 批量插入(应用场景:小数据量,超出1万条建议另行实现)
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="entities"></param>
|
|
|
+ /// <param name="cancellationToken"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ public async Task AddRangeAsync(List<TEntity> entities, CancellationToken cancellationToken = default)
|
|
|
+ {
|
|
|
+ entities.ForEach(d => d.InitDatePermission(_dataPermissionFilterBuilder.DataPermissionManager)
|
|
|
+ .AssignToCreator(_dataPermissionFilterBuilder.DataPermissionManager));
|
|
|
+ await Db.Insertable(entities).ExecuteCommandAsync();
|
|
|
+ }
|
|
|
}
|