using MiAssessment.Core.Interfaces; using MiAssessment.Model.Data; using Microsoft.EntityFrameworkCore; namespace MiAssessment.Core.Services; /// /// 基础服务实现类 /// /// 实体类型 /// 主键类型 public abstract class BaseService : IBaseService where TEntity : class { protected readonly MiAssessmentDbContext _dbContext; protected readonly DbSet _dbSet; protected BaseService(MiAssessmentDbContext dbContext) { _dbContext = dbContext; _dbSet = dbContext.Set(); } /// public virtual async Task GetByIdAsync(TKey id) { return await _dbSet.FindAsync(id); } /// public virtual async Task> GetAllAsync() { return await _dbSet.ToListAsync(); } /// public virtual async Task AddAsync(TEntity entity) { await _dbSet.AddAsync(entity); await _dbContext.SaveChangesAsync(); return entity; } /// public virtual async Task UpdateAsync(TEntity entity) { _dbSet.Update(entity); return await _dbContext.SaveChangesAsync() > 0; } /// public virtual async Task DeleteAsync(TKey id) { var entity = await GetByIdAsync(id); if (entity == null) return false; _dbSet.Remove(entity); return await _dbContext.SaveChangesAsync() > 0; } }