Подтвердить что ты не робот

Как заказать несколько столбцов с использованием выражений лямбда VB.Net

Я провел краткий поиск этого сайта и сделал это в Google, но, похоже, не нашел хорошего примера. Я все еще пытаюсь разгадать все "выражения Лямбда".

Может ли кто-нибудь здесь привести пример, упорядочивающий несколько столбцов с использованием VB.Net и Linq-to-SQL с использованием выражения лямбда?

Вот мой существующий код, который возвращает упорядоченный список с использованием одного столбца для заказа результатов:

Return _dbContext.WebCategories.OrderBy(Function(c As WebCategory) c.DisplayOrder).ToList

Примечание. Объект WebCategory имеет дочерний объект WebPage (на основе внешнего ключа). Я хотел бы заказать по WebPage.DisplayOrder сначала, а затем по WebCategory.DisplayOrder.

Я попытался связать порядок байтов, как показано ниже, и хотя он скомпилирован и запущен, он, похоже, не возвращал данные в том порядке, в котором я хотел.

Return _dbContext.WebCategories.OrderBy(Function(c As WebCategory) c.DisplayOrder).OrderBy(Function(c As WebCategory) c.WebPage.DisplayOrder).ToList

Спасибо заранее.

4b9b3361

Ответ 1

Я нашел эту статью MSDN в быстром поиске Google. Я предполагаю, что вы ищете:

Return _dbContext.WebCategories.OrderBy(Function(c As WebCategory) c.DisplayOrder). _
ThenBy(Function(c As WebCategory) c.WebPage.DisplayOrder).ToList

Ответ 2

Вы должны использовать ThenBy следующим образом:

Return _dbContext.WebCategories.OrderBy(Function(c As WebCategory) c.DisplayOrder) _
                               .ThenBy(Function(c As WebCategory) c.WebPage.DisplayOrder) _
                               .ToList()