title: EF Core HasQueryFilter works for only the first value in filter expression
body: <p>I am using EF Core HasQueryFilter extension method, which is inside the OnModelCreating method.</p>
  
  <p>I am injecting the user id into the DbContext using a service and then applying the userId to the query filter. For the first time when the OnModelCreating is executed it works fine as expected. But when I change the user and pass a different userId to the DbContext then query filter is not affected as obvious because the OnModelCreating is not called this time.</p>
  
  <p>A little background of the App: It's a core 2.2 API project which authenticates users using the JWT token. I populate the user claims and initialize the injected auth service using the JWT, so for every call to the API the userId can be different hence query filter should work on different userIds.</p>
  
  <p>Example codes below:</p>
  
  <pre><code>public class SqlContext : DbContext
  {
      private readonly IAuthService _authService;
  
      public SqlContext(DbContextOptions options, IAuthService authService) : base(options)
      {
          _authService = authService;
      }
  
      public DbSet&lt;Device&gt; Devices { get; set; }
  
      protected override void OnModelCreating(ModelBuilder modelBuilder)
      {
          base.OnModelCreating(modelBuilder);
  
          modelBuilder.Entity&lt;Device&gt;().HasQueryFilter(p =&gt; !p.IsDeleted &amp;&amp; p.ManufacturerId == _authService.ManufacturerId);
      }
  }
  </code></pre>
  
  <p>How the DbContext is initialized.</p>
  
  <pre><code> services.AddDbContextPool&lt;TContext&gt;(o =&gt;
              o.UseSqlServer(configuration["Settings:SqlServer:DefaultConnection"],
                  b =&gt;
                  {
                      b.MigrationsAssembly(configuration["Settings:SqlServer:MigrationAssembly"]);
                      b.CommandTimeout(60);
                      b.EnableRetryOnFailure(2);
                  })
              .ConfigureWarnings(warnings =&gt;
              {
                  warnings.Throw(RelationalEventId.QueryClientEvaluationWarning);
              }))
              .AddTransient&lt;TContext&gt;();
  </code></pre>