У меня есть сущность продукта, которая имеет 0 или 1 сущность "BestSeller". Почему-то, когда я говорю:
db.Products.OrderBy(p => p.BestSeller.rating).ToList();
SQL, который я получаю, имеет «дополнительное» внешнее соединение (ниже). И если я добавлю второй корабль отношений 0 или 1 и упорядочу их обоими, то получу 4 внешних соединений. Кажется, что каждая такая сущность производит 2 внешних соединения, а не одно. LINQ to 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