using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Query.Internal; namespace Baguette.Querying.EntityFrameworkCore; // public class ServiceQueryProvider : IAsyncQueryProvider, IInfrastructure // #pragma warning restore EF1001 // { // private readonly IAsyncQueryProvider inner; // private readonly IServiceProvider provider; // // #pragma warning disable EF1001 // public ServiceQueryProvider(IAsyncQueryProvider inner, IServiceProvider provider) => (this.inner, this.provider) = (inner, provider); // #pragma warning restore EF1001 // // IServiceProvider IInfrastructure.Instance => provider; // // public IQueryable CreateQuery(Expression expression) => inner.CreateQuery(expression); // // public IQueryable CreateQuery(Expression expression) => inner.CreateQuery(expression); // // public object? Execute(Expression expression) => inner.Execute(expression); // // public TResult Execute(Expression expression) => inner.Execute(expression); // // public TResult ExecuteAsync(Expression expression, CancellationToken cancellationToken = default) => inner.ExecuteAsync(expression, cancellationToken); // } #pragma warning disable EF1001 public class ServiceQueryProvider : EntityQueryProvider, IInfrastructure #pragma warning restore EF1001 { private readonly IServiceProvider provider; #pragma warning disable EF1001 public ServiceQueryProvider(IQueryCompiler queryCompiler, IServiceProvider provider) : base(queryCompiler) { this.provider = provider; } #pragma warning restore EF1001 IServiceProvider IInfrastructure.Instance => provider; }