Entity Framework Core, количество включений слишком медленное по сравнению с T-SQL - PullRequest
0 голосов
/ 19 июня 2019

edit: Удалены другие, включая те же таблицы результатов размером 50k строк в ProductAttributes

Я получил этот код, он работает слишком медленно по сравнению с моим оператором T-SQL.

return _context.ProductAttributes
               .Include(e => e.ProductProductAttributes)
               .Select(x => new GetProductAttributesModel
                                {
                                    Attribute = x,
                                    Count = x.ProductProductAttributes.Count()
                                })
               .ToArrayAsync(); 

Здесьтакое оператор T-SQL для сравнения:

SELECT * 
FROM Product_Attribute a 
LEFT JOIN 
    (SELECT COUNT(*) AS ctn, AttributeId 
     FROM Product_ProductAttribute 
     GROUP BY AttributeId) d ON d.AttributeId = a.Id 

Как получить реализацию Entity Framework Core, которая будет быстрее или хотя бы похожа на инструкцию T-SQL?

Я надеюсь, что мне не нужно делать хранимую процедуру в select для этого ... это кажется таким простым

1 Ответ

0 голосов
/ 19 июня 2019

Хорошо, общественное мнение о том, что организация не даст мне скорость, необходимую мне для этого варианта использования.Я переключусь на хранимую процедуру в select для этого случая.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...