Próbuję kwerendy mój zestaw wyników w ten sposób w linq do podmiotów;LINQ do encji Zawiera Case In-Sensitive Searching
var categoriesList = _catRepo.GetAllCategories();
filteredCategories = categoriesList.Where(c=> c.CategoryName.Contains("for"));
Jednak ja nie dostać żadnego rezultatu ponieważ posiadał CategoryName
jest For(Upper Case)
w bazie danych. Sprawdziłem również sortowanie serwera sql i jest ustawiony na _CI_AS. Nie mam pojęcia, jak używać do filtrowania znaków niewrażliwych na wielkość liter? Chcę zasadniczo, jeśli ktoś typu;
filteredCategories = categoriesList.Where(c=> c.CategoryName.Contains("for"));
LUB
filteredCategories = categoriesList.Where(c=> c.CategoryName.Contains("For"));
Wynik powinien być taki sam
Czy odpowiada to na pytanie? http://stackoverflow.com/questions/3360772/linq-contains-case-insensitive –
to nie działa dla mnie –
Myślę, że zwykle działa z sortowaniem, które mówisz. Czy jesteś pewien, że 'categoriesList' jest kwerendą DB, a nie zapytaną już na liście pamięci (w takim przypadku twoje wyrażenie nie zostanie przetłumaczone na sql). Ponadto, jeśli prześledzisz zapytania bazy danych w tym momencie, jaki kod SQL jest generowany? –