EF Core MySQL-LINQ语句创建的查询效率低

时间:2019-05-07 22:52:10

标签: c# mysql linq entity-framework-core

我有一个名为库存的对象,其类型为IQueryable。当我使用linq运行清单.Count()时,将生成以下SQL(我使用实体框架记录器查看正在生成的实际查询):

SELECT Count(*)
FROM Inventory

我还有另一个linq语句,该语句采用相同的清单对象并在其上运行以下命令:

inventory.Select(x => x.Id).Distinct().Count();

这将产生此SQL查询:

SELECT Id, name, quantity, cost
FROM Inventory

它不使用SQL计数语法。为什么?如果创建的第一个linq语句创建了优化的sql查询,为什么这个语句创建的效率低下?

0 个答案:

没有答案