Tengo una entidad de producto, que tiene 0 o 1 entidades "BestSeller". Por alguna razón, cuando digo:¿Demasiadas combinaciones externas a la izquierda en Entity Framework 4?
db.Products.OrderBy(p => p.BestSeller.rating).ToList();
SQL consigo tiene un exterior "extra" join (abajo). Y si agrego una segunda relación 0 o 1, y el orden por ambos, entonces obtengo uniones externas. Parece que cada una de esas entidades está produciendo 2 uniones externas en lugar de una. LINQ to SQL se comporta exactamente como cabría esperar, sin unión adicional.
¿Alguien más ha experimentado esto o sabe cómo solucionarlo?
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
Parece como si sólo lo hace por una entidad 0..1. Si hay una colección de entidades, la carga ansiosa de la colección da como resultado la combinación externa única correcta. –