using LSFE.Domain.Contracts; using LSFE.Infrastructure.Database; using Microsoft.EntityFrameworkCore; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace LSFE.Domain.Services { public class GenericRepository where TEntity : class { protected readonly LSFEDbContext _dbContext; public GenericRepository(LSFEDbContext context) { _dbContext = context; } public async Task GetByIdAsync(int id) => await _dbContext.Set().FindAsync(id); public async Task> GetAllAsync() => await _dbContext.Set().ToListAsync(); public async Task AddAsync(TEntity entity) { await _dbContext.Set().AddAsync(entity); } public void Update(TEntity entity) { _dbContext.Entry(entity).State = EntityState.Modified; } public void Remove(TEntity entity) { _dbContext.Set().Remove(entity); } } }