using BrightGlimmer.Data.Interfaces; using BrightGlimmer.Domain; using Microsoft.EntityFrameworkCore; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace BrightGlimmer.Data.Repositories { public class QueryRepository : IQueryRepository where T : Entity { public IUnitOfWork UnitOfWork => context; protected readonly BgContext context; public QueryRepository(BgContext context) /* TODO: Change way we inject context later */ { this.context = context; } public virtual IQueryable Get() { return context.Set(); } public virtual T Get(Guid id) { return context.Set().Find(id); } public virtual async Task GetAsync(Guid id) { return await context.Set().SingleAsync(x => x.Id == id); } } }