Мэппинг в Entity Framework медленный - PullRequest
2 голосов
/ 06 марта 2012

У меня есть запрос, который я не знаю, как повысить производительность.

Я вижу в EF-Profiler, что sql-запрос занимает 154 мс, что нормально, поскольку БД находится в облаке.Проблема в том, что сопоставление выполняется с помощью EF.Это занимает общее время 2801 мс.Это большой вопрос, всего было получено 3698 строк.

Что я должен сделать, чтобы увеличить скорость отображения EF?Мой вопрос выглядит так:

var parcels =
                            context.Parcels.Include("ParcelStatusLogs")
                                .Include("Comments")
                                .Include("Comments.CommentStatu")
                                .Where(p => p.CarrierDateSent >= dateFrom.Date &&
                                         p.CarrierDateSent <= dateTo.Date &&
                                         p.ClientCompanyID == user.ComapanyID &&
                                         (p.IsActive == true || p.IsActive == isActive))
                                .OrderBy(r => r.CarrierDateSent).ThenByDescending(p => p.ParcelStatusLogs.OrderByDescending(
                                f => f.ParcelStatusID).FirstOrDefault().ParcelStatusID).ThenBy(p =>p.ParcelStatusLogs.OrderBy(f =>f.ParcelStatusEventDate).FirstOrDefault().ParcelStatusEventDate)

Должен ли я подумать о том, чтобы выйти за пределы EF и использовать что-то еще?

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...