Ich habe eine Produkteinheit, die 0 oder 1 "BestSeller" Entitäten hat. Aus irgendeinem Grund, wenn ich sage:Zu viele externe Verbindungen in Entity Framework 4?
db.Products.OrderBy(p => p.BestSeller.rating).ToList();
die SQL ich habe eine "extra" äußere Verbindung (unten). Und wenn ich ein zweites 0 oder 1 Relation-Schiff hinzufüge und von beiden bestelle, dann bekomme ich Outer Joins. Es sieht so aus, als ob jede solche Entität 2 äußere Joins statt einer einzigen erzeugt. LINQ to SQL verhält sich genau so, wie Sie es erwarten würden, ohne zusätzlichen Join.
Hat jemand anderes dies erfahren, oder wissen, wie man es repariert?
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
Es scheint, als ob es dies nur für eine 0..1 Unternehmen der Fall ist. Wenn eine Auflistung von Entitäten vorhanden ist, führt das mühsame Laden der Auflistung zum richtigen einzelnen äußeren Join. –