Использование EF Core в промышленных приложениях¶
Кратко перечислим список вещей, которые нужно принять во внимание при переходе к промышленной эксплуатации EF Core.
- Скаффолдинг столбцов — EF Core использует консервативные значения для таких вещей, как строковые столбцы, допуская строки большой или неограниченной длины. На практике может возникнуть желание ввести разумные ограничения;
- Валидация — можно декорировать сущности атрибутами валидации
DataAnnotations, но EF Core не будет автоматически проверять значения (в отличие от EF 6.x); - Параллелизм — EF Core предоставляет несколько способов для работы с параллелизмом, когда несколько пользователей пытаются обновить сущность одновременно. Одно из частичных решений — использовать столбцы
Timestamp; - Синхронные и асинхронные команды — EF Core предоставляет как синхронные, так и асинхронные методы для взаимодействия с БД. Асинхронный режим зачастую предпорчтительней, однако существуют нюансы, которые не позволяют использовать этот подход во всех случаях;
- автоматические миграции — в случае автоматизации развертывания приложения неизбежно понадобится способ автоматического применения миграций; у разных способов есть свои плюсы и минусы;
- несколько веб-хостов — распространненой ситуацией является наличие нескольких веб-серверов (например, реплик приложения), использующих одну БД;
- обратно совместимые схемы — следствием использования подхода с несколькими веб-хостами будет ситуация, когда приложение обращается к БД с более новой схемой. Это означает, что необходимо делать изменения схемы обратно совместимыми, где только возможно;
- сохранение миграций в другой сборке — при этом подходе необходимо использовать несколько иные команды, нежели описанные здесь;
- наполнение БД — когда БД создается впервые, часто имеется требование о наличии в ней неких исходных данных. В отличие от EF 6.x, EF Core не имеет встроенного механизма наполнения БД.
Последнее обновление :
1 мая 2023 г.
Дата создания : 2 октября 2022 г.
Дата создания : 2 октября 2022 г.