1
我有一个约有1000行的People
表和Dramas
表,其中约有100行SQL Azure。这两个链接与外键Drama.PersonId
,以便每个人可以有0或更多的戏剧。LINQ to Entities选择需要很长时间
下面的代码的行为与预期的一样,返回约50人及其相关的近期剧集。但是,运行需要超过5秒钟(以Stopwatch
测量)。一定会有什么效率低下呢?
var people = ctx.People
.Where(p => p.Dramas.Any(d => d.DateHappened >= startDate))
.Select(p => new
{
p.FirstName,
p.LastName,
Dramas = p.Dramas.Where(d => d.DateHappened >= startDate).Select(d => new { d.Id, d.DramaType })
}).AsEnumerable();
尝试延期加载,可能有帮助! – Imran
我需要我的代码的下一行中的所有信息,所以我不认为懒加载会解决任何问题! – James
然后尝试运行原始的sql查询。 http://forums.asp.net/t/1896474.aspx检查出来可能会帮助你! – Imran