42 lines
1.0 KiB
C#
42 lines
1.0 KiB
C#
using AngleSharp.Dom;
|
|
using EnvelopeGenerator.Application.Contracts.SQLExecutor;
|
|
using Microsoft.EntityFrameworkCore;
|
|
|
|
namespace EnvelopeGenerator.Infrastructure;
|
|
|
|
public sealed record Query<TEntity> : IQuery<TEntity>
|
|
{
|
|
private readonly IQueryable<TEntity> _query;
|
|
|
|
internal Query(IQueryable<TEntity> queryable)
|
|
{
|
|
_query = queryable;
|
|
}
|
|
|
|
public TEntity First() => _query.First();
|
|
|
|
public Task<TEntity> FirstAsync() => _query.FirstAsync();
|
|
|
|
public TEntity? FirstOrDefault() => _query.FirstOrDefault();
|
|
|
|
|
|
public Task<TEntity?> FirstOrDefaultAsync() => _query.FirstOrDefaultAsync();
|
|
|
|
|
|
public TEntity Single() => _query.Single();
|
|
|
|
|
|
public Task<TEntity> SingleAsync() => _query.SingleAsync();
|
|
|
|
|
|
public TEntity? SingleOrDefault() => _query.SingleOrDefault();
|
|
|
|
|
|
public Task<TEntity?> SingleOrDefaultAsync() => _query.SingleOrDefaultAsync();
|
|
|
|
|
|
public IEnumerable<TEntity> ToList() => _query.ToList();
|
|
|
|
|
|
public async Task<IEnumerable<TEntity>> ToListAsync() => await _query.ToListAsync();
|
|
} |