Общие советы по оптимизации Entity Framework

optimize_basic

  • Отключать Tracking для Entity Framework в режиме чтения
    При использовании Entity Framework только в режиме чтения отключайте Tracking
    var blogs2 = context.Blogs.Where(b => b.Name.Contains(“.NET”)).AsNoTracking().ToList();
    http://msdn.microsoft.com/en-us/library/cc853327.aspx
    http://blog.staticvoid.co.nz/2012/4/2/entity_framework_and_asnotracking.
  • Компилировать процедуры
    Всегда компилируйте процедуры в Entity Framework – https://msdn.microsoft.com/ru-ru/library/vstudio/bb896297(v=vs.100).aspx.
  • Не использовать lazy load
    Не используйте lazy load в EF – это увеличивает количество SQL запросов при обращении к внешним ключам (видно при использовании MiniProfiler).
  • Применять Entity Framework 6
    Используйте Entity Framework 6 – он работает значительно быстрее предыдущих версий.