2

編集:

また、知りたいこと: もしも; 大文字ではないデータがある場合は? または大文字または小文字が混在していますか?これをどのように処理しますか?

結果セットをクエリしようとしています

IQueryable<CategoryObject>  filteredCategories = _catRepo.GetAllEmployees();


 filteredCategories = filteredCategories.Where(c=> c.CategoryName.Contains("Blocks"));

ただし、データベースで CategoryName が For(大文字) であるため、結果が得られません。大文字と小文字を区別しない文字列をフィルター処理するために contains を使用する方法がわかりませんか? 誰かが次のように入力した場合、基本的に欲しいです。

filteredCategories = filteredCategories.Where(c=> c.CategoryName.Contains("Blocks"));

また

filteredCategories = filteredCategories.Where(c=> c.CategoryName.Contains("blocks"));

また

filteredCategories = filteredCategories.Where(c=> c.CategoryName.Contains("blocKS"));

結果は同じはずです

4

3 に答える 3

4

試す

filteredCategories = categoriesList.Where(c=> c.CategoryName.ToUpper().Contains("BLOCKS"));

これにより、ケースの問題が解消されます。

于 2013-10-27T14:06:33.830 に答える
2

あなたも試すことができます:

filteredCategories = categoriesList.Where(c=> c.CategoryName.IndexOf("blocks", StringComparison.OrdinalIgnoreCase) != -1);
于 2013-10-27T14:41:28.673 に答える
1

前に述べたように、最初の方法 - ToUpper() を使用します。

var filterString = "bLoCkS"
filteredCategories = categoriesList.Where(c=> c.CategoryName.ToUpper().Contains(filterString.ToUpper()));

もう 1 つの方法 -データベース (テーブル、フィールド) で大文字と小文字を区別しない照合 ( SQL Server の照合順序を大文字と小文字を区別しないものに変更しますか?) を使用します。

于 2013-10-27T21:13:26.907 に答える