Почему EF 6 работает лучше, чем EF Core 8 при простом запросе выбора?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Почему EF 6 работает лучше, чем EF Core 8 при простом запросе выбора?

Сообщение Anonymous »

У меня есть проект .NET framework 4.6, который я переписываю с помощью .NET 8. Существует простой запрос, который выполняется быстрее в EF 6, чем в EF Core 8. Этот запрос привел к снижению производительности в новом рефакторинге проекта. Запрос:

Код: Выделить всё

dbContext.Edits.OrderByDescending(e => e.Id).FirstOrDefaultAsync(e => e.ReferenceId == referenceId, cancellationToken)
В проекте .NET Framework 4.6 этот запрос выполняется примерно за 22 миллисекунды, но в версии .NET 8 с EF Core 8 это занимает около 700 миллисекунд. Обе версии работают в одной среде и подключены к одной и той же базе данных.
Таблица редактирования содержит более миллиона записей. Он имеет кластеризованный индекс в столбце Id и некластеризованный индекс в столбце ReferenceId (который является полем NVARCHAR). База данных работает на SQL Server 2008 (уровень совместимости 100). Поведение отслеживания отключено в обоих проектах.
Я не уверен, почему EF 6 превосходит EF Core 8 в этом сценарии. Требуется ли какое-либо изменение конфигурации или оптимизация для достижения аналогичной производительности EF Core 8?

Подробнее здесь: https://stackoverflow.com/questions/790 ... lect-query
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»