I need to apply a global query filter in my EF DbContext.
The value to check against is retrieved by an async operation.
So something like this.
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<User>().HasQueryFilter(async u => u.CustomerId == await GetIdAsync());
}
Of course this doesn't work, as HasQueryFilter
expects a different lamda expression.
And I guess, that adding async
to the OnModelCreating
will bring me into troubles, too.
protected override async void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
var id = await GetIdAsync();
modelBuilder.Entity<User>().HasQueryFilter(u => u.CustomerId == id);
}
Any ideas, how to solve this?