Готовим Entity Framework. Рецепты для холостяков

Preview:

Citation preview

Готовим Entity Framework. Рецепты холостяка, а так же

дегустация готовых блюд

Игорь Лужанский и Олег Боднар | Львов | 21 декабря

Содержание• История ингредиента

• Выбираем правильную кулинарную школу

• От чего зависит вкус готового блюда ?

• Рецепты высокой производительности

Пользоваться можно начиная с 5.0

Содержание• История ингредиента

• Выбираем правильную кулинарную школу

• От чего зависит вкус готового блюда ?

• Рецепты высокой производительности

Code first или Database first ?

Вот в чем вопрос….

Для тех кто не знает….

Code first. За что мы его любим • Автоматическое обновление базы

• Автоматическое создание индексов

• Высокая скорость разработки

• Наличие миграций

Code first. С чем надо быть осторожным • Легко сделать базу не валидной

Database first. Для смельчаков• Всегда валидная модель

• Полный доступ ко всем возможностям базы

Database first. Что нас напрягает• Необходимость поддерживать базу

Совет от шеф повара Используйте code first только после

того как познали database first

Содержание• История ингредиента

• Выбираем правильную кулинарную школу

• От чего зависит вкус готового блюда ?

• Рецепты высокой производительности

Entity Framework не всегда виноват • Query

• ORM

• Database

• Data Transfer

Содержание• История ингредиента

• Выбираем правильную кулинарную школу

• От чего зависит вкус готового блюда ?

• Рецепты высокой производительности

Рецепт 1. Для выборки данных • AsNoTracking – метод который позволяет не

мониторить изменения в дата сетте

Рецепт 2. Для минимизации запросов • Использовать ToList, First, Signle, foreach and etc.

после того как сформирован запрос

• Отключить Lazy Loading

• Использовать хранимые процедуры для возвращения нескольких результатов

Рецепт 3. Вставка более 100 записей • Использовать SqlBulkCopy

• Готовые реализации: EntityFramework.Utilities

Рецепт 4. Необходимо выполнить 2 отдельных запроса

• Не использовать Include, если:• Получаем много записей

Спасибо!!!