改进从实体框架生成的查询

ADI*_*IMO 3 c# linq entity-framework

我有一个像这样的查询linq:

var query = from c in Context.Customers select c;
var result = query.ToList();
Run Code Online (Sandbox Code Playgroud)

Linq查询生成此tsql代码:

exec sp_executesql N'SELECT 
[Project1].[Id] AS [Id], 
[Project1].[Name] AS [Name], 
[Project1].[Email] AS [Email]
FROM ( SELECT 
    [Extent1].[Id] AS [Id],
    [Extent1].[Name] AS [Name], 
    [Extent1].[Email] AS [Email]
    FROM [dbo].[Customers] AS [Extent1] ) AS [Project1]
Run Code Online (Sandbox Code Playgroud)

有没有办法不生成子查询?

Blu*_*eft 5

您是否有证据表明该查询导致性能问题?我想查询优化器很容易识别出来.

如果您在分析查询是性能问题(可疑)后确定 - 只有这样 - 您可以简单地将查询转换为存储过程,然后调用它.