【发布时间】:2020-01-06 01:37:29
【问题描述】:
我正在为 mysql 使用实体框架核心,并且我一直在运行一个复杂的 linq 查询,我正在尝试对其进行优化。 我打开了登录 mysql 服务器以查看来自 linq 查询的结果查询。 奇怪的是,这没有任何意义,因为我的复杂查询连接了 5 个表并执行多个 group by,where 和 order by 子句在日志中注册为 5 个单独的 select all columns from table statements。
所以,我为一个表尝试了一个简单的 group by 语句。生成的 sql 日志产生“Select all_columns from table_name order by groupbyid”。
谁能解释这里发生了什么?
提前致谢。
根据要求提供更多信息:
Sql查询:
var queryCommand = (from p in _context.TableExtract group p by p.tableExtractPersonId); queryCommand.ToList();
生成的mysql日志之后:
SELECT .... [很长的列名列表]
发件人TableExtract 发件人p
订购者p.tableExtractPersonId
我尝试了两个不同的实体框架库:MySql.Data.EntityFrameworkCore(v8.0.17) 和 Pomelo.EntityFrameworkCore.MySql (v2.2.20),结果相同。我已经尝试过 .net core 3.0 并且也收到了相同的结果。接下来我将尝试 .net 标准。
【问题讨论】:
-
您可以添加一个示例代码来说明您所做的事情吗?你的 linq 查询、表结构、实体?
标签: linq .net-core entity-framework-core