Entity Framework linq to entity 在代码上很慢但在 SQL Server Management Studio 中很快

Entity Framework linq to entity slow on code but fast in SQL Server Management Studio

以下 EF 查询在代码中运行缓慢,但在 SQL Server Management Studio 中运行速度很快。我如何重写此 EF 语句以缩短执行时间?

Context.OfferQuotations
          .Include(x => x.OfferRevision)
          .Include(x => x.OfferRevision.OfferParameters)
          .Include(x => x.OfferRevision.OfferParameters.Select(a => a.CostOfFundings.Select(i => i.OfferCostOfFunding.TermRange)))
          .Where(x => x.Id == quotationId);

我以前遇到过这个问题,所以我就打开了LazyLoadingProxyCreating

this.Context.Configuration.LazyLoadingEnabled = true;
this.Context.Configuration.ProxyCreationEnabled = true;

http://www.entityframeworktutorial.net/EntityFramework4.3/lazy-loading-with-dbcontext.aspx

关闭上下文的延迟加载选项。关注本文

https://msdn.microsoft.com/en-us/library/jj574232(v=vs.113).aspx

然后也尝试将您的查询转换为连接,目前它以子查询方式工作。