Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В примерах этого раздела показано, как использовать ThenBy метод для запроса модели AdventureWorks Sales с помощью синтаксиса запросов на основе методов. Модель продаж AdventureWorks, используемая в этих примерах, создается из таблиц Contact, Address, Product, SalesOrderHeader и SalesOrderDetail в примере базы данных AdventureWorks.
В примерах этого раздела используются следующие инструкции using/Imports:
using System;
using System.Data;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.Objects;
using System.Globalization;
using System.Data.EntityClient;
using System.Data.SqlClient;
using System.Data.Common;
Option Explicit On
Option Strict On
Imports System.Data.Objects
Imports System.Globalization
ThenBy
Пример
В следующем примере с использованием синтаксиса запросов на основе метода OrderBy и ThenBy возвращает список контактов, упорядоченных сначала по фамилии, а затем по имени.
using (AdventureWorksEntities context = new AdventureWorksEntities())
{
IQueryable<Contact> sortedContacts = context.Contacts
.OrderBy(c => c.LastName)
.ThenBy(c => c.FirstName);
Console.WriteLine("The list of contacts sorted by last name then by first name:");
foreach (Contact sortedContact in sortedContacts)
{
Console.WriteLine(sortedContact.LastName + ", " + sortedContact.FirstName);
}
}
Using context As New AdventureWorksEntities
Dim sortedContacts = context.Contacts _
.OrderBy(Function(c) c.LastName) _
.ThenBy(Function(c) c.FirstName) _
.Select(Function(c) c)
Console.WriteLine("The list of contacts sorted by last name then by first name:")
For Each sortedContact As Contact In sortedContacts
Console.WriteLine(sortedContact.LastName + ", " + sortedContact.FirstName)
Next
End Using
ЗатемПоУбыванию
Пример
В следующем примере используются методы OrderBy и ThenByDescending для первой сортировки по цене, указанной в списке, а затем выполняется сортировка по убыванию названий продуктов.
using (AdventureWorksEntities context = new AdventureWorksEntities())
{
IOrderedQueryable<Product> query = context.Products
.OrderBy(product => product.ListPrice)
.ThenByDescending(product => product.Name);
foreach (Product product in query)
{
Console.WriteLine($"Product ID: {product.ProductID} Product Name: {product.Name} List Price {product.ListPrice}");
}
}
Using context As New AdventureWorksEntities
Dim products As ObjectSet(Of Product) = context.Products
Dim query As IOrderedQueryable(Of Product) = products _
.OrderBy(Function(prod As Product) prod.ListPrice) _
.ThenByDescending(Function(prod As Product) prod.Name)
For Each prod As Product In query
Console.WriteLine("Product ID: {0} Product Name: {1} List Price {2}", _
prod.ProductID, _
prod.Name, _
prod.ListPrice)
Next
End Using