我有一个查询,我不确定如何提高性能。
我可以在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以外的地方吗?
由于