Merge pull request 'refactor: use AsNoTracking for email template queries to improve performance' (#5) from development into main

Reviewed-on: #5
This commit was merged in pull request #5.
This commit is contained in:
2026-05-12 22:21:32 +03:00
@@ -14,13 +14,16 @@ internal sealed class EmailTemplateRepository : EfRepository<NotificationDbConte
public async Task<IReadOnlyList<EmailTemplate>> GetAllAsync(CancellationToken ct = default)
{
List<EmailTemplateEntity> entities = await DbSet.ToListAsync(ct);
List<EmailTemplateEntity> entities = await DbSet
.AsNoTracking()
.ToListAsync(ct);
return entities.Select(MapToDomain).ToList();
}
public async Task<IReadOnlyList<EmailTemplate>> GetByServiceAsync(string serviceName, CancellationToken ct = default)
{
List<EmailTemplateEntity> entities = await DbSet
.AsNoTracking()
.Where(x => x.ServiceName == serviceName)
.ToListAsync(ct);
@@ -29,7 +32,9 @@ internal sealed class EmailTemplateRepository : EfRepository<NotificationDbConte
public async Task<EmailTemplate?> GetAsync(string serviceName, string key, string languageCode, CancellationToken ct = default)
{
EmailTemplateEntity? entity = await DbSet.FirstOrDefaultAsync(
EmailTemplateEntity? entity = await DbSet
.AsNoTracking()
.FirstOrDefaultAsync(
x => x.ServiceName == serviceName && x.Key == key && x.LanguageCode == languageCode, ct);
return entity is null ? null : MapToDomain(entity);