У меня есть момент, когда кажется, что это должно быть прямолинейно, но я не могу понять это правильно. У меня есть простая коллекция:
Category Name
---> List<Category> (Children of this category)
Я хочу, чтобы пользователь мог фильтровать на основе Category.Name, сохраняя при этом иерархию. Так например.
My Category
---> Category.Name, "ABC"
---> Category.Name, "123"
---> Category.Name, "CDE"
Если пользователь вводит C, фильтр должен вернуть
My Category
---> Category.Name, "ABC"
---> Category.Name, "CDE"
Моя попытка до сих пор была
var v = vm.CategoryList
.Where(p => p.CategoryItems.Any(q => q.Name.Contains(SearchText)));
Это отфильтрует и вернет мне все имена категорий, которые содержат элементы категории, соответствующие фильтру, но я все равно получаю весь список дочерних категорий без фильтрации. Что мне не хватает?
IEnumerable<Category>
, но тогда что в ней содержится членCategoryItems
этого типа? - person Eamon Nerbonne   schedule 07.12.2009