You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
But that doesn't work; only the "PropTwo" filter ends up in the resulting query. One answer I found via another tangentially-related issue here was to do something like this:
var filters = new List<Action<QueryDescriptor<MyType>>>();
filters.Add(f => f.Term(t => t.Field(f => f.PropOne).Value("my_value_1")));
filters.Add(f => f.Term(t => t.Field(f => f.PropTwo).Value("my_value_2")));
...and then include them in my query with .Filter(filters.ToArray()). If there's a way to do what I want simply by chaining, I'm not sure what it might be.
I am no doubt bad at intuiting fluent interfaces, but it felt frustrating to know what output I wanted but be unable to create that in code.
Describe the solution you'd like
For me, it would have helped a lot to have one or two examples on a page like "Query examples" demonstrate how to have more than one query descriptor under something like "Filter()".
Additional context
I appreciate the library!
The text was updated successfully, but these errors were encountered:
Your code was very close. The params overload is a little bit tricky to use with the descriptor actions. Calling .Filter() multiple times just overrides the previous value - like you already noticed. This is always the case unless the fluent API method starts with something like Add..., Remove.... In these cases you can expect the method to alter the state accordingly, in all other situations you should assume the previous value to get overwritten.
Is your feature request related to a problem? Please describe.
I need to write queries like this:
I couldn't find any examples of that in the current documentation. Flailing around in VS Code I can end up with compilable code like this:
But that doesn't work; only the "PropTwo" filter ends up in the resulting query. One answer I found via another tangentially-related issue here was to do something like this:
...and then include them in my query with
.Filter(filters.ToArray())
. If there's a way to do what I want simply by chaining, I'm not sure what it might be.I am no doubt bad at intuiting fluent interfaces, but it felt frustrating to know what output I wanted but be unable to create that in code.
Describe the solution you'd like
For me, it would have helped a lot to have one or two examples on a page like "Query examples" demonstrate how to have more than one query descriptor under something like "Filter()".
Additional context
I appreciate the library!
The text was updated successfully, but these errors were encountered: