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);
我以前遇到过这个问题,所以我就打开了LazyLoading
和ProxyCreating
。
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
然后也尝试将您的查询转换为连接,目前它以子查询方式工作。
以下 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);
我以前遇到过这个问题,所以我就打开了LazyLoading
和ProxyCreating
。
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
然后也尝试将您的查询转换为连接,目前它以子查询方式工作。