【发布时间】:2014-07-22 15:49:01
【问题描述】:
我有一个要优化的 linq to sql 查询。我已经找到了一个与调用数据库的 sql 查询数量有关的主要问题。由于查询的嵌套性质 - 它很大! (在 SQL 分析器中尝试 14,000 行)。哎哟!
我正在研究预加载和使用 LoadWith - 但嵌套查询似乎存在限制? (错误:System.InvalidOperationException:LoadOptions LoadWith 类型图中不允许循环。)。关于如何让 Linq to SQL 加载一些相关数据并减少数据库命中的任何想法?谢谢!
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();
抱歉,代码看起来有点粗糙。
【问题讨论】:
-
有什么想法吗??提前致谢!
标签: optimization linq-to-sql nested