Вы можете использовать:
var childrenOfParent = theCollection.Where(item => item.Parent.Id == parentId);
Изменить в ответ на комментарии:
Учитывая, что у вас есть иерархический набор данных, я лично сделал бы процедуру, которая проверяет, еслиу данного элемента есть определенный элемент в качестве родителя рекурсивно, например так:
bool HasParent(Item item, int parentId)
{
if (item.Parent == null)
return false;
else if (item.Parent.Id == parentId)
return true;
else
return HasParent(item.Parent, parentId);
}
Учитывая это, вы можете использовать:
var childrenOfParent = theCollection.Where(item => HasParnet(item, parentId));