Вы можете «создать» запрос LINQ за несколько шагов.
Создайте базовый запрос, чтобы получить несортированную информацию.Этот запрос не будет выполнен до тех пор, пока вы не попытаетесь перечислить результаты.
var data = from lm in lDc.tbl_Products
where lm.TypeRef == pTypeId
select new;
Затем в обработчике событий примените любую сортировку, какую пожелаете, прежде чем привязывать результаты к таблице.
var orderedData = from lm in data
order lm.Code ascending
select new;
// TODO: Display orderedData in a grid.
Полный запрос, который вы перечислите, будет оценен.Это означает, что вы можете запустить отдельный запрос для каждого элемента в раскрывающемся списке, построенный из «базового» запроса.