サプライヤーの名前を含むリストがあります。いう
SuppId Supplier Name
----------------------------------
1 Aardema & Whitelaw
2 Aafedt Forde Gray
3 Whitelaw & Sears-Ewald
次のLINQクエリを使用する
supplierListQuery = supplierListQuery.Where(x => x.SupplierName.Contains(SearchKey));
次の条件で正しくレコードを返すことができます。
1)「Whitelaw&Sears-Ewald」として検索文字列を使用している場合、3番目のレコードが返されます。
2)「Whitelaw」または「Sears-Ewald」を使用している場合、3番目のレコードが返されます。
しかし、検索文字列を「Whitelaw Sears-Ewald」と指定している場合、3番目のレコードを返すにはどうすればよいですか。常に0レコードを返します。
ALLを使用してこの結果を取得できますが、この特定のニーズに使用する方法がわかりません。
迅速な対応ありがとうございました。しかし、これを処理するために機能した、または簡単な修正は、これに関するtimothycliffordのメモでした。彼が言ったように私はこれに対する私の答えを変えました
string[] filters = SearchKey.ToLower().Split(new[] { ' ' });
objSuppliersList = (from x in objSuppliersList
where filters.All(f => x.SupplierName.ToLower().Contains(f))
select x).ToList();
これで、すべての検索条件の結果が返されます。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加