Ho un'entità prodotto, che ha 0 o 1 entità "BestSeller". Per qualche motivo quando dico:Un numero eccessivo di join esterni a sinistra in Entity Framework 4?
db.Products.OrderBy(p => p.BestSeller.rating).ToList();
l'SQL I get ha un join esterno "extra" (sotto). E se aggiungo una seconda nave 0 o 1, e ordino entrambi, allora ottengo join esterni. Sembra che ciascuna di queste entità produca 2 join esterni anziché uno. LINQ to SQL si comporta esattamente come ci si aspetterebbe, senza un join aggiuntivo.
Qualcun altro ha provato questo o sa come risolverlo?
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
Sembra come se lo fa solo questo per un'entità 0..1. Se è presente una raccolta di entità, il carico eccessivo della raccolta determina il corretto singolo join esterno. –