Выбери любимый жанр
Выбрать книгу по жанру
Фантастика и фэнтези
- Боевая фантастика
- Героическая фантастика
- Городское фэнтези
- Готический роман
- Детективная фантастика
- Ироническая фантастика
- Ироническое фэнтези
- Историческое фэнтези
- Киберпанк
- Космическая фантастика
- Космоопера
- ЛитРПГ
- Мистика
- Научная фантастика
- Ненаучная фантастика
- Попаданцы
- Постапокалипсис
- Сказочная фантастика
- Социально-философская фантастика
- Стимпанк
- Технофэнтези
- Ужасы и мистика
- Фантастика: прочее
- Фэнтези
- Эпическая фантастика
- Юмористическая фантастика
- Юмористическое фэнтези
- Альтернативная история
Детективы и триллеры
- Боевики
- Дамский детективный роман
- Иронические детективы
- Исторические детективы
- Классические детективы
- Криминальные детективы
- Крутой детектив
- Маньяки
- Медицинский триллер
- Политические детективы
- Полицейские детективы
- Прочие Детективы
- Триллеры
- Шпионские детективы
Проза
- Афоризмы
- Военная проза
- Историческая проза
- Классическая проза
- Контркультура
- Магический реализм
- Новелла
- Повесть
- Проза прочее
- Рассказ
- Роман
- Русская классическая проза
- Семейный роман/Семейная сага
- Сентиментальная проза
- Советская классическая проза
- Современная проза
- Эпистолярная проза
- Эссе, очерк, этюд, набросок
- Феерия
Любовные романы
- Исторические любовные романы
- Короткие любовные романы
- Любовно-фантастические романы
- Остросюжетные любовные романы
- Порно
- Прочие любовные романы
- Слеш
- Современные любовные романы
- Эротика
- Фемслеш
Приключения
- Вестерны
- Исторические приключения
- Морские приключения
- Приключения про индейцев
- Природа и животные
- Прочие приключения
- Путешествия и география
Детские
- Детская образовательная литература
- Детская проза
- Детская фантастика
- Детские остросюжетные
- Детские приключения
- Детские стихи
- Детский фольклор
- Книга-игра
- Прочая детская литература
- Сказки
Поэзия и драматургия
- Басни
- Верлибры
- Визуальная поэзия
- В стихах
- Драматургия
- Лирика
- Палиндромы
- Песенная поэзия
- Поэзия
- Экспериментальная поэзия
- Эпическая поэзия
Старинная литература
- Античная литература
- Древневосточная литература
- Древнерусская литература
- Европейская старинная литература
- Мифы. Легенды. Эпос
- Прочая старинная литература
Научно-образовательная
- Альтернативная медицина
- Астрономия и космос
- Биология
- Биофизика
- Биохимия
- Ботаника
- Ветеринария
- Военная история
- Геология и география
- Государство и право
- Детская психология
- Зоология
- Иностранные языки
- История
- Культурология
- Литературоведение
- Математика
- Медицина
- Обществознание
- Органическая химия
- Педагогика
- Политика
- Прочая научная литература
- Психология
- Психотерапия и консультирование
- Религиоведение
- Рефераты
- Секс и семейная психология
- Технические науки
- Учебники
- Физика
- Физическая химия
- Философия
- Химия
- Шпаргалки
- Экология
- Юриспруденция
- Языкознание
- Аналитическая химия
Компьютеры и интернет
- Базы данных
- Интернет
- Компьютерное «железо»
- ОС и сети
- Программирование
- Программное обеспечение
- Прочая компьютерная литература
Справочная литература
Документальная литература
- Биографии и мемуары
- Военная документалистика
- Искусство и Дизайн
- Критика
- Научпоп
- Прочая документальная литература
- Публицистика
Религия и духовность
- Астрология
- Индуизм
- Православие
- Протестантизм
- Прочая религиозная литература
- Религия
- Самосовершенствование
- Христианство
- Эзотерика
- Язычество
- Хиромантия
Юмор
Дом и семья
- Домашние животные
- Здоровье и красота
- Кулинария
- Прочее домоводство
- Развлечения
- Сад и огород
- Сделай сам
- Спорт
- Хобби и ремесла
- Эротика и секс
Деловая литература
- Банковское дело
- Внешнеэкономическая деятельность
- Деловая литература
- Делопроизводство
- Корпоративная культура
- Личные финансы
- Малый бизнес
- Маркетинг, PR, реклама
- О бизнесе популярно
- Поиск работы, карьера
- Торговля
- Управление, подбор персонала
- Ценные бумаги, инвестиции
- Экономика
Жанр не определен
Техника
Прочее
Драматургия
Фольклор
Военное дело
Последние комментарии
Сергей2018-11-27
Не книга, а полная чушь! Хорошо, что чит
К книгеЯзык программирования C#9 и платформа .NET5 - Троелсен Эндрю - Страница 460
460
Изменить размер шрифта:
var orders = query.ToList();
Assert.Equal(expectedCount,orders.Count);
}
Для первого теста
[InlineData]
генерируется такой запрос:DECLARE @__color_0 nvarchar(4000) = N'Black';
SELECT [c].[Color], [c].[FirstName], [c].[IsDrivable], [c].[LastName],
[c].[Make], [c].
[PetName]
FROM [dbo].[CustomerOrderView] AS [c]
WHERE [c].[Color] = @__color_0
Сортировка записей
Методы
OrderBy()
и OrderByDescending()
устанавливают для запроса сортировку (сортировки) по возрастанию и по убыванию. Если требуются дальнейшие сортировки, тогда используйте методы ThenBy()
и ThenByDescending()
. Сортировка демонстрируется в тесте ниже:[Fact]
public void ShouldSortByLastNameThenFirstName()
{
// Сортировать по фамилии, затем по имени.
var query = Context.Customers
.OrderBy(x => x.PersonalInformation.LastName)
.ThenBy(x => x.PersonalInformation.FirstName);
var qs = query.ToQueryString();
var customers = query.ToList();
// Если есть только один пользователь, то проверять нечего.
if (customers.Count <= 1) { return; }
for (int x = 0; x < customers.Count - 1; x++)
{
var pi = customers[x].PersonalInformation;
var pi2 = customers[x + 1].PersonalInformation;
var compareLastName = string.Compare(pi.LastName,
pi2.LastName, StringComparison.CurrentCultureIgnoreCase);
Assert.True(compareLastName <= 0);
if (compareLastName != 0) continue;
var compareFirstName = string.Compare(pi.FirstName,
pi2.FirstName, StringComparison.CurrentCultureIgnoreCase);
Assert.True(compareFirstName <= 0);
}
}
Предыдущий запрос LINQ транслируется следующим образом:
SELECT [c].[Id], [c].[TimeStamp], [c].[FirstName], [c].[FullName],
[c].[LastName]
FROM [Dbo].[Customers] AS [c]
ORDER BY [c].[LastName], [c].[FirstName]
Сортировка записей в обратном порядке
Метод
Reverse()
меняет порядок сортировки на противоположный, как видно в представленном далее тесте: (window.adrunTag = window.adrunTag || []).push({v: 1, el: 'adrun-4-390', c: 4, b: 390})[Fact]
public void ShouldSortByFirstNameThenLastNameUsingReverse()
{
// Сортировать по фамилии, затем по имени,
// и изменить порядок сортировки на противоположный.
var query = Context.Customers
.OrderBy(x => x.PersonalInformation.LastName)
.ThenBy(x => x.PersonalInformation.FirstName)
.Reverse();
var qs = query.ToQueryString();
var customers = query.ToList();
// Если есть только один пользователь, то проверять нечего.
if (customers.Count <= 1) { return; }
for (int x = 0; x < customers.Count - 1; x++)
{
var pi1 = customers[x].PersonalInformation;
var pi2 = customers[x + 1].PersonalInformation;
var compareLastName = string.Compare(pi1.LastName,
pi2.LastName, StringComparison.CurrentCultureIgnoreCase);
Assert.True(compareLastName >= 0);
if (compareLastName != 0) continue;
var compareFirstName = string.Compare(pi1.FirstName,
pi2.FirstName, StringComparison.CurrentCultureIgnoreCase);
Assert.True(compareFirstName >= 0);
}
}
Вот во что транслируется предыдущий запрос LINQ:
SELECT [c].[Id], [c].[TimeStamp], [c].[FirstName], [c].[FullName],
[c].[LastName] FROM [Dbo].[Customers] AS [c]
ORDER BY [c].[LastName] DESC, [c].[FirstName] DESC
Извлечение одиночной записи
Существуют три главных метода для возвращения одиночной записи посредством запроса:
First()/FirstOrDefault()
, Last()/LastOrDefault()
и Single()/SingleOrDefault()
. Хотя все они возвращают одиночную запись, принятые в них подходы отличаются. Методы и их варианты более подробно описаны ниже.• Метод
First()
возвращает первую запись, которая соответствует условию запроса и любым конструкциям упорядочения. Если конструкции упорядочения не указаны, то возвращаемая запись основывается на порядке, установленном в базе данных. Если запись не возвращается, тогда генерируется исключение.• Поведение метода
FirstOrDefault()
совпадает с поведением First()
, но при отсутствии записей, соответствующих запросу, FirstOrDefault()
возвращает стандартное значение для типа (null
).- Предыдущая
- 460/642
- Следующая

