我有一个linq to sql查询,我试图优化。我已经找到了一个与调用数据库的sql查询数有关的主要问题。由于查询的嵌套特性 - 它是巨大的! (在SQL事件探查器中尝试14,000行)。哎哟!
我正在寻找急切的加载和使用LoadWith - 但是嵌套查询似乎有限制吗? (错误:System.InvalidOperationException:LoadOptions LoadWith类型图中不允许循环。)。有关如何让Linq to SQL加载一些相关数据并减少db命中率的任何想法?谢谢!
List<EBCFPS> ebcfpsList = (from c in v3
group c by c.CId into g
select new EBCFPS()
{
CId = g.First().CId,
CName = g.First().CName,
CType = g.First().CType,
SortOrder = g.First().SortOrder == null ? 0 : (int)g.First().SortOrder,
EsGroup = (from q in g
select new EFPS()
{
EId = (int)q.EId,
EName = q.EName,
CESGroup = (from s in db.CES
where s.EId == q.EId
&& s.CId == q.CId
select new CESSFPS()
{
CESId = s.CESId,
CId = s.CId,
EId = s.EId == null ? 0 : (int)s.EId,
FSCId = s.FSCId == null ? 0 : (int)s.FSCId,
SEV = s.SEV,
Score = s.Score
}).ToList()
}).ToList()
}).ToList();
对不起,代码看起来有点粗糙。
答案 0 :(得分:0)
答案是编译查询。