Работа с LINQ
Введение
Технологии для работы с базами данных
Подключение к базе данных. Code-First
Подключение к базе данных. Code-First
Подключение к базе данных. DB-First
Подключение к базе данных. DB-First
Подключение к базе данных. DB-First
Виды синтаксиса LINQ
IQueryable и IEnumerable
Пример ранней материализации
Корректная загрузка данных
Асинхронность
Блокировка потока
Причина использования AnyAsync
Фильтрация Where
Динамические запросы
Проекция Select
Пагинация данных
Пример 1 (Плейсхолдер)
Пример 2 (Плейсхолдер)
Пример 3 (Плейсхолдер)
Итоги:
2.11M
Category: programmingprogramming

Работа с LINQ

1. Работа с LINQ

Докладчик:
Харченко Николай

2. Введение

• LINQ (Language Integrated Query) — технология платформы
.NET, позволяющая писать запросы к данным непосредственно
на языке C#.
• При использовании Entity Framework Core LINQ-запросы
транслируются в SQL и выполняются на стороне базы данных.
• Преимущества: единый синтаксис, безопасность, читаемость
кода, удобство поддержки.

3. Технологии для работы с базами данных

• ADO.NET – набор классов и интерфейсов для низкоуровневого
доступа к данным из источников.
• EntityFramework – технология представления базы данных
через объектно-ориентированную модель.
• LINQ to SQL – технология для работы с SQL сервер через
команды LINQ.

4. Подключение к базе данных. Code-First

5. Подключение к базе данных. Code-First

Создание и выполнение миграции

6. Подключение к базе данных. DB-First

Добавление модели ADO.NET

7. Подключение к базе данных. DB-First

8. Подключение к базе данных. DB-First

9. Виды синтаксиса LINQ

10. IQueryable и IEnumerable

• IEnumerable – операции выполняются в памяти
после загрузки данных
• IQueryable – запрос формируется и выполняется в
базе данных

11. Пример ранней материализации

12. Корректная загрузка данных

13. Асинхронность

• ToListAsync – позволяет привести данные из базы в List для
дальнейшей работы
• FirstOrDefaultAsync – реализован для поиска по необходимым
параметрам, если результата нет – возвращается null
• AnyAsync – служит для обозначения существования записей
• CountAsync – требуется для определения количества элементов

14. Блокировка потока

15. Причина использования AnyAsync

16. Фильтрация Where

17. Динамические запросы

18. Проекция Select

19. Пагинация данных

20. Пример 1 (Плейсхолдер)

21. Пример 2 (Плейсхолдер)

22. Пример 3 (Плейсхолдер)

23. Итоги:

• Строить запрос через IQueryable до последнего момента.
• Использовать Select для уменьшения объема данных.
• Применять асинхронные методы.
• Не материализовывать данные преждевременно.
English     Русский Rules