Готовим entity framework. Рецепты для холостяков
TRANSCRIPT
![Page 1: Готовим Entity Framework. Рецепты для холостяков](https://reader035.vdocuments.mx/reader035/viewer/2022062503/58eba6611a28ab98608b4783/html5/thumbnails/1.jpg)
Готовим Entity Framework. Рецепты холостяка, а так же
дегустация готовых блюд
Игорь Лужанский и Олег Боднар | Львов | 21 декабря
![Page 2: Готовим Entity Framework. Рецепты для холостяков](https://reader035.vdocuments.mx/reader035/viewer/2022062503/58eba6611a28ab98608b4783/html5/thumbnails/2.jpg)
Содержание• История ингредиента
• Выбираем правильную кулинарную школу
• От чего зависит вкус готового блюда ?
• Рецепты высокой производительности
![Page 3: Готовим Entity Framework. Рецепты для холостяков](https://reader035.vdocuments.mx/reader035/viewer/2022062503/58eba6611a28ab98608b4783/html5/thumbnails/3.jpg)
Пользоваться можно начиная с 5.0
![Page 4: Готовим Entity Framework. Рецепты для холостяков](https://reader035.vdocuments.mx/reader035/viewer/2022062503/58eba6611a28ab98608b4783/html5/thumbnails/4.jpg)
Содержание• История ингредиента
• Выбираем правильную кулинарную школу
• От чего зависит вкус готового блюда ?
• Рецепты высокой производительности
![Page 5: Готовим Entity Framework. Рецепты для холостяков](https://reader035.vdocuments.mx/reader035/viewer/2022062503/58eba6611a28ab98608b4783/html5/thumbnails/5.jpg)
Code first или Database first ?
Вот в чем вопрос….
![Page 6: Готовим Entity Framework. Рецепты для холостяков](https://reader035.vdocuments.mx/reader035/viewer/2022062503/58eba6611a28ab98608b4783/html5/thumbnails/6.jpg)
Для тех кто не знает….
![Page 7: Готовим Entity Framework. Рецепты для холостяков](https://reader035.vdocuments.mx/reader035/viewer/2022062503/58eba6611a28ab98608b4783/html5/thumbnails/7.jpg)
Code first. За что мы его любим • Автоматическое обновление базы
• Автоматическое создание индексов
• Высокая скорость разработки
• Наличие миграций
![Page 8: Готовим Entity Framework. Рецепты для холостяков](https://reader035.vdocuments.mx/reader035/viewer/2022062503/58eba6611a28ab98608b4783/html5/thumbnails/8.jpg)
Code first. С чем надо быть осторожным • Легко сделать базу не валидной
![Page 9: Готовим Entity Framework. Рецепты для холостяков](https://reader035.vdocuments.mx/reader035/viewer/2022062503/58eba6611a28ab98608b4783/html5/thumbnails/9.jpg)
Database first. Для смельчаков• Всегда валидная модель
• Полный доступ ко всем возможностям базы
![Page 10: Готовим Entity Framework. Рецепты для холостяков](https://reader035.vdocuments.mx/reader035/viewer/2022062503/58eba6611a28ab98608b4783/html5/thumbnails/10.jpg)
Database first. Что нас напрягает• Необходимость поддерживать базу
![Page 11: Готовим Entity Framework. Рецепты для холостяков](https://reader035.vdocuments.mx/reader035/viewer/2022062503/58eba6611a28ab98608b4783/html5/thumbnails/11.jpg)
Совет от шеф повара Используйте code first только после
того как познали database first
![Page 12: Готовим Entity Framework. Рецепты для холостяков](https://reader035.vdocuments.mx/reader035/viewer/2022062503/58eba6611a28ab98608b4783/html5/thumbnails/12.jpg)
Содержание• История ингредиента
• Выбираем правильную кулинарную школу
• От чего зависит вкус готового блюда ?
• Рецепты высокой производительности
![Page 13: Готовим Entity Framework. Рецепты для холостяков](https://reader035.vdocuments.mx/reader035/viewer/2022062503/58eba6611a28ab98608b4783/html5/thumbnails/13.jpg)
Entity Framework не всегда виноват • Query
• ORM
• Database
• Data Transfer
![Page 14: Готовим Entity Framework. Рецепты для холостяков](https://reader035.vdocuments.mx/reader035/viewer/2022062503/58eba6611a28ab98608b4783/html5/thumbnails/14.jpg)
Содержание• История ингредиента
• Выбираем правильную кулинарную школу
• От чего зависит вкус готового блюда ?
• Рецепты высокой производительности
![Page 15: Готовим Entity Framework. Рецепты для холостяков](https://reader035.vdocuments.mx/reader035/viewer/2022062503/58eba6611a28ab98608b4783/html5/thumbnails/15.jpg)
Рецепт 1. Для выборки данных • AsNoTracking – метод который позволяет не
мониторить изменения в дата сетте
![Page 16: Готовим Entity Framework. Рецепты для холостяков](https://reader035.vdocuments.mx/reader035/viewer/2022062503/58eba6611a28ab98608b4783/html5/thumbnails/16.jpg)
Рецепт 2. Для минимизации запросов • Использовать ToList, First, Signle, foreach and etc.
после того как сформирован запрос
• Отключить Lazy Loading
• Использовать хранимые процедуры для возвращения нескольких результатов
![Page 17: Готовим Entity Framework. Рецепты для холостяков](https://reader035.vdocuments.mx/reader035/viewer/2022062503/58eba6611a28ab98608b4783/html5/thumbnails/17.jpg)
Рецепт 3. Вставка более 100 записей • Использовать SqlBulkCopy
• Готовые реализации: EntityFramework.Utilities
![Page 18: Готовим Entity Framework. Рецепты для холостяков](https://reader035.vdocuments.mx/reader035/viewer/2022062503/58eba6611a28ab98608b4783/html5/thumbnails/18.jpg)
Рецепт 4. Необходимо выполнить 2 отдельных запроса
• Не использовать Include, если:• Получаем много записей
![Page 19: Готовим Entity Framework. Рецепты для холостяков](https://reader035.vdocuments.mx/reader035/viewer/2022062503/58eba6611a28ab98608b4783/html5/thumbnails/19.jpg)
Спасибо!!!