मेरे पास एक उत्पाद इकाई है, जिसमें 0 या 1 "बेस्टसेलर" इकाइयां हैं। किसी कारण जब मैं कहता हूँ के लिए:बहुत सारे बाएं बाहरी इकाई फ्रेमवर्क 4 में शामिल हो जाते हैं?
db.Products.OrderBy(p => p.BestSeller.rating).ToList();
एसक्यूएल मैं एक "अतिरिक्त" बाहरी है मिल में शामिल होने के (नीचे)। और यदि मैं दूसरे 0 या 1 संबंध जहाज पर जोड़ता हूं, और दोनों द्वारा ऑर्डर करता है, तो मुझे बाहरी जुड़ता है। ऐसा लगता है जैसे प्रत्येक ऐसी इकाई एक के बजाय 2 बाहरी जोड़ों का उत्पादन कर रही है। LINQ से SQL वास्तव में व्यवहार करता है जैसा कि आप उम्मीद करेंगे, बिना अतिरिक्त जुड़ने के।
क्या किसी और ने इसका अनुभव किया है, या इसे ठीक करने के बारे में जानते हैं?
SELECT
[Extent1].[id] AS [id],
[Extent1].[ProductName] AS [ProductName]
FROM [dbo].[Products] AS [Extent1]
LEFT OUTER JOIN [dbo].[BestSeller] AS [Extent2] ON [Extent1].[id] = [Extent2].[id]
LEFT OUTER JOIN [dbo].[BestSeller] AS [Extent3] ON [Extent2].[id] = [Extent3].[id]
ORDER BY [Extent3].[rating] ASC
ऐसा लगता है जैसे कि यह केवल एक 0..1 इकाई के लिए ऐसा करता है। यदि संस्थाओं का संग्रह होता है, तो संग्रह को लोड करने में उत्सुकता के परिणामस्वरूप सही एकल बाहरी शामिल होता है। –