namespace Repository; public interface IBudgetArchiveRepository : IBaseRepository { Task GetArchiveAsync(int year, int month); Task> GetListAsync(int year, int month); Task> GetArchivesByYearAsync(int year); } public class BudgetArchiveRepository( IFreeSql freeSql ) : BaseRepository(freeSql), IBudgetArchiveRepository { public async Task GetArchiveAsync(int year, int month) { return await FreeSql.Select() .Where(a => a.Year == year && a.Month == month) .ToOneAsync(); } public async Task> GetListAsync(int year, int month) { return await FreeSql.Select() .Where(a => a.Year == year && a.Month == month) .ToListAsync(); } public async Task> GetArchivesByYearAsync(int year) { return await FreeSql.Select() .Where(a => a.Year == year) .OrderBy(a => a.Month) .ToListAsync(); } }