मैं संस्थाओं क्वेरी के लिए निम्न LINQ जो कई सबक्वेरी है कुछ कुल डेटा प्राप्त करने के लिए है के लिए एक ही शामिलRefactor LINQ/संस्थाओं कई सबक्वेरी साथ क्वेरी
var systems = from s in db.Systems
orderby s.Name
select new SystemSummary
{
Id = s.Id,
Code = s.Code,
Name = s.Name,
LastException = (
from a in s.Applications
from e in a.Summaries
select e.CreationDate
).Max(),
TodaysExceptions = (
from a in s.Applications
from e in a.Summaries
where e.CreationDate >= today && e.CreationDate < tomorrow
select e
).Count(),
/* SNIP - 10-15 more subqueries */
};
मैं क्वेरी अप छोटा सबक्वेरी के 2 , लेकिन उनमें से लगभग 10-15 अधिक हो सकते हैं। क्या कोई तरीका है कि मैं कोड को साफ करने के लिए क्वेरी को दोबारा कर सकता हूं? मैं प्रदर्शन में वृद्धि की तलाश नहीं कर रहा हूं। मैं अभी भी यह सुनिश्चित कर रहा हूं कि यह डेटाबेस के लिए एक ही कॉल है, जबकि यह सुनिश्चित कर रहा है कि सबकुछ को अलग-अलग विधियों में डालकर कोड को साफ़ करना चाहते हैं। क्या यह संभव है?
यदि आप क्लीनर कोड चाहते हैं, तो आप अपने डेटाबेस में संग्रहीत प्रक्रिया बनाने पर विचार करना चाहेंगे – Mathieu
@ मैथ्यूयू क्या यह एकमात्र तरीका है, हालांकि? – Dismissile