I want to write a RavenDB query that filters by a value if it is available, but if that value is not available, I want it to return all objects. For example, in linq to objects, I can do something like this:
var matches = people.Where(x => x.LastName == userEntry || userEntry == string.Empty).ToList();
But the following will not work:
var matches = RavenSession.Query<Person>().Where(x => x.LastName == userEntry || userEntry == string.Empty).ToList();
Because userEntry
is not an indexed value, this throws an exception.
How can I accomplish this?