sunpengfei
2025-08-05 59833ddbf47ed028462e1b089b46bf7c6f7518e3
FlexJobApi.Core/Utils/DbUtils/DbUtils.cs
@@ -51,12 +51,11 @@
        /// </summary>
        /// <typeparam name="TEntity"></typeparam>
        /// <typeparam name="TRequest"></typeparam>
        /// <param name="rep"></param>
        /// <param name="request"></param>
        /// <param name="checkExist"></param>
        /// <param name="cancellationToken"></param>
        /// <returns></returns>
        public static async Task<Guid> SaveData<TEntity, TRequest>(this TRequest request, Func<TEntity, TRequest, bool> checkExist = null, CancellationToken cancellationToken = default)
        public static async Task<Guid> SaveData<TEntity, TRequest>(this TRequest request, Func<IQueryable<TEntity>, TEntity, TRequest, bool> checkExist = null, CancellationToken cancellationToken = default)
            where TEntity : CommonEntity, new()
            where TRequest : SaveDataCommand, new()
        {
@@ -67,7 +66,7 @@
            {
                var entity = await rep.AsQueryable().FirstOrDefaultAsync(it => it.Id == request.Id, cancellationToken);
                if (entity == null) throw Oops.Oh(EnumErrorCodeType.s404, $"该{summary ?? "信息"}");
                if (checkExist != null && checkExist(entity, request)) throw Oops.Oh(EnumErrorCodeType.s405, $"该{summary ?? "信息"}");
                if (checkExist != null && checkExist(rep.AsQueryable().AsNoTracking(), entity, request)) throw Oops.Oh(EnumErrorCodeType.s405, $"该{summary ?? "信息"}");
                request.Adapt(entity);
                await rep.UpdateAsync(entity);
                return entity.Id;
@@ -75,7 +74,7 @@
            else
            {
                var entity = new TEntity();
                if (checkExist != null && checkExist(entity, request)) throw Oops.Oh(EnumErrorCodeType.s405, $"该{summary ?? "信息"}");
                if (checkExist != null && checkExist(rep.AsQueryable().AsNoTracking(), entity, request)) throw Oops.Oh(EnumErrorCodeType.s405, $"该{summary ?? "信息"}");
                request.Adapt(entity);
                await rep.InsertAsync(entity);
                return entity.Id;