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