public async Task Add(TProjection projection) { await using var context = new GameSociationContext(_options); await context.Set <TProjection>().AddAsync(projection); await context.SaveChangesAsync(); }
public async Task Update(Guid projectionId, Action <TProjection> update) { await using var context = new GameSociationContext(_options); var projection = await context.Set <TProjection>().SingleOrDefaultAsync(p => p.Id == projectionId); if (projection != null) { update(projection); } await context.SaveChangesAsync(); }
public Task <UserDetailProjection> GetUserDetail(Guid id) { return(_context.Set <UserDetailProjection>().AsNoTracking().SingleOrDefaultAsync(projection => projection.Id == id)); }