У меня есть запрос linq to sql, который я пытаюсь оптимизировать. Я отследил основную проблему, связанную с количеством запросов sql, вызываемых в базу данных. Из-за вложенности запроса - он огромен! (попробуйте 14 000 строк в профилировщике SQL). Ой!Оптимизация вложенного Linq в SQL Query
Я ищу загружаемую загрузку и используя LoadWith - но, как представляется, существует ограничение на вложенные запросы? (Ошибка: System.InvalidOperationException: Циклы не разрешены в LoadOptions LoadWith type graph.). Любые идеи о том, как заставить 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();
Извините, код немного грубый, чтобы посмотреть.
любые идеи ?? заранее спасибо! – localman