using ApplicationLayer.Services.Locations.NeededServices; using Domains.LocationDomain; using Infrastructure.Database.Generic; using Microsoft.EntityFrameworkCore; namespace Infrastructure.Database.Locations.Repositories.Countries; public sealed class CountriesRepository(IGenericReader reader, IGenericWriter writer) : GenericRepository(reader, writer), ICountriesRepository { protected override IQueryable LoadDomain() { return base.LoadDomain().Include(c => c.Cities); } async Task ICountriesRepository.FindByName(string countryName, CancellationToken cancellationToken) { var result = await LoadDomain().SingleOrDefaultAsync(c => c.Name == countryName, cancellationToken); return result; } }