diff --git a/SimpleAdmin.Application/Services/Onboarding/OnboardingTemplate/OnboardingTemplateService.cs b/SimpleAdmin.Application/Services/Onboarding/OnboardingTemplate/OnboardingTemplateService.cs index 4686fd7..40b15f9 100644 --- a/SimpleAdmin.Application/Services/Onboarding/OnboardingTemplate/OnboardingTemplateService.cs +++ b/SimpleAdmin.Application/Services/Onboarding/OnboardingTemplate/OnboardingTemplateService.cs @@ -96,10 +96,16 @@ public class OnboardingTemplateService : IOnboardingTemplateService NormalizeAndValidateInput(input); await ValidateReferences(input); - var codeOwner = await _db.Queryable() + var codeOwnerQuery = _db.Queryable() .ClearFilter() - .FirstAsync(item => item.TemplateCode == input.TemplateCode - && (!input.Id.HasValue || item.Id != input.Id.Value)); + .Where(item => item.TemplateCode == input.TemplateCode); + if (input.Id.HasValue) + { + var currentTemplateId = input.Id.Value; + codeOwnerQuery = codeOwnerQuery.Where(item => item.Id != currentTemplateId); + } + + var codeOwner = await codeOwnerQuery.FirstAsync(); if (codeOwner != null && !codeOwner.IsDelete) throw Oops.Bah("入职模板编码已存在");