using Microsoft.EntityFrameworkCore; namespace Moonlight.Api.Database; public class DatabaseRepository where T : class { private readonly DataContext DataContext; private readonly DbSet Set; public DatabaseRepository(DataContext dataContext) { DataContext = dataContext; Set = DataContext.Set(); } public IQueryable Query() => Set; public async Task AddAsync(T entity) { var final = Set.Add(entity); await DataContext.SaveChangesAsync(); return final.Entity; } public async Task UpdateAsync(T entity) { Set.Update(entity); await DataContext.SaveChangesAsync(); } public async Task RemoveAsync(T entity) { Set.Remove(entity); await DataContext.SaveChangesAsync(); } }