Некоторые различия между Entity Framework Core (EF Core) и Entity Framework 6 (EF6):
- Поддержка платформ. 1 EF6 доступен только на платформе .NET Framework, то есть его можно использовать только на Windows. 1 EF Core построен на .NET Core и может работать на нескольких платформах, включая Windows, Linux и macOS. 12
- Производительность. 1 EF Core оптимизирован для производительности и включает несколько оптимизаций, которые делают его быстрее EF6 во многих сценариях. 1 Например, EF Core использует новый механизм отслеживания изменений, который снижает использование памяти и улучшает производительность при работе с большими наборами данных. 1
- Моделирование. 1 EF Core предлагает новый API моделирования, который более гибкий и выразительный, чем в EF6. 1 Также EF Core поддерживает более сложные сценарии сопоставления, такие как собственные сущности и разделение таблиц, которые были невозможны в EF6. 1
- Запросы. 1 EF Core включает новый провайдер LINQ, который более эффективный и гибкий, чем в EF6. 1 Также EF Core поддерживает необработанные запросы SQL и хранимые процедуры, что даёт больший контроль над генерируемым SQL при необходимости. 1
- Миграции. 1 EF Core включает новую систему миграций, которая более мощная и простая в использовании, чем в EF6. 1 Также EF Core поддерживает более сложные сценарии миграции, такие как добавление новых столбцов со значениями по умолчанию и переименование таблиц и столбцов. 1
Несмотря на то, что EF Core включает многие улучшения и новые функции, он не является полной заменой для EF6. 1 Некоторые функции EF6 не реализованы в EF Core, например, ленивая загрузка и функции с значением в таблице. 1