コンパイル時に用語がわからない場合に、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など)を構築するための答えはありますか?