मेरे पास अपेक्षित रूप से लौटने वाले बाहरी बहिष्कार (नीचे) परिणाम हैं। मुझे परिणामों को 'दाएं' तालिका से 'पहले' हिट तक सीमित करने की आवश्यकता है। क्या मैं इसे किसी तरह से कर सकता हूं? वर्तमान में, मुझे दोनों तालिकाओं में प्रत्येक रिकॉर्ड के लिए परिणाम मिलते हैं, मैं केवल बाएं (आइटम) पर तालिका से एक परिणाम देखना चाहता हूं इससे कोई फर्क नहीं पड़ता कि मेरे पास सही तालिका (फ़ोटो) में कितने परिणाम हैं।LINQ बाएं बाहरी को एक पंक्ति में कैसे शामिल करें
var query = from i in db.items
join p in db.photos
on i.id equals p.item_id into tempPhoto
from tp in tempPhoto.DefaultIfEmpty()
orderby i.date descending
select new
{
itemName = i.name,
itemID = i.id,
id = i.id,
photoID = tp.PhotoID.ToString()
};
GridView1.DataSource = query;
GridView1.DataBind();
मुझे इस समाधान की लालित्य पसंद है, हालांकि मुझे लगता है कि यह एक क्वेरी बना सकता है जो उप-चयन –
I के कारण एसक्यूएल अनुकूलित करने के लिए कठिन है। जांच की गई और उत्पन्न एसक्यूएल और अनुमानित निष्पादन योजना दोनों के साथ खुश था। उप-चयन को बाएं बाहरी शामिल होने की योजना बनाई गई थी। –
एसक्यूएल पोस्ट करने के किसी भी मौके को शांत करें, मैं इसे देखने के लिए उत्सुक हूं। –