Есть ли рекомендуемый способ поиска каждого из нескольких терминов с использованием StartsWith, когда термины неизвестны во время компиляции?
Я представляю что-то подобное:
var searchTerms = "John Doe".Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
var query = session.Query<Person, PersonIndex>()
.Where(x => x.FirstName.StartsWithAnyOf(searchTerms) ||
x.LastName.StartsWithAnyOf(searchTerms));
Запрос будет эквивалентен:
var query = session.Query<Person, PersonIndex>()
.Where(x => x.FirstName.Starts(searchTerms[0]) ||
x.LastName.StartsWith(searchTerms[0]) ||
x.FirstName.Starts(searchTerms[1]) ||
x.LastName.StartsWith(searchTerms[1]));
Является ли ответ построением запроса LINQ во время выполнения (PredicateBuilder или аналогичным )?