From b4d8497ea72aec76764cdcf685082c12712f9c2f Mon Sep 17 00:00:00 2001 From: Anatolii Grynchuk Date: Tue, 12 May 2026 22:21:00 +0300 Subject: [PATCH] refactor: use AsNoTracking for email template queries to improve performance --- .../Repositories/EmailTemplateRepository.cs | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/HrynCo.NotificationService.DAL.EF/Repositories/EmailTemplateRepository.cs b/HrynCo.NotificationService.DAL.EF/Repositories/EmailTemplateRepository.cs index fc6c6ec..6bf0e25 100644 --- a/HrynCo.NotificationService.DAL.EF/Repositories/EmailTemplateRepository.cs +++ b/HrynCo.NotificationService.DAL.EF/Repositories/EmailTemplateRepository.cs @@ -14,13 +14,16 @@ internal sealed class EmailTemplateRepository : EfRepository> GetAllAsync(CancellationToken ct = default) { - List entities = await DbSet.ToListAsync(ct); + List entities = await DbSet + .AsNoTracking() + .ToListAsync(ct); return entities.Select(MapToDomain).ToList(); } public async Task> GetByServiceAsync(string serviceName, CancellationToken ct = default) { List entities = await DbSet + .AsNoTracking() .Where(x => x.ServiceName == serviceName) .ToListAsync(ct); @@ -29,8 +32,10 @@ internal sealed class EmailTemplateRepository : EfRepository GetAsync(string serviceName, string key, string languageCode, CancellationToken ct = default) { - EmailTemplateEntity? entity = await DbSet.FirstOrDefaultAsync( - x => x.ServiceName == serviceName && x.Key == key && x.LanguageCode == languageCode, ct); + EmailTemplateEntity? entity = await DbSet + .AsNoTracking() + .FirstOrDefaultAsync( + x => x.ServiceName == serviceName && x.Key == key && x.LanguageCode == languageCode, ct); return entity is null ? null : MapToDomain(entity); } @@ -80,4 +85,4 @@ internal sealed class EmailTemplateRepository : EfRepository