gpt4 book ai didi

linq - Entity Framework 4 生成的查询正在连接完整的表

转载 作者:行者123 更新时间:2023-12-02 02:30:26 28 4
gpt4 key购买 nike

我有两个实体:Master 和 Details。当我查询它们时,对数据库的查询结果是:

SELECT [Extent2]."needed columns listed here", [Extent1]."needed columns listed here"
FROM (SELECT * [Details]."all columns listed here"...
FROM [dbo].[Details] AS [Details]) AS [Extent1]
LEFT OUTER JOIN [dbo].[Master] AS [Extent2] ON [Extent1].[key] = [Extent2].[key]
WHERE [Extent1].[filterColumn] = @p__linq__0

我的问题是:为什么过滤器不在内部查询中?我怎样才能得到这个查询?我已经尝试了很多 EF 和 Linq 表达式。

我需要的是这样的:

SELECT <anything needed>
FROM Master LEFT JOIN Details ON Master.key = Details.Key
WHERE filterColumn = @param

我在两个表中进行了完整的顺序扫描,在我的生产环境中,每个表中都有数百万行。

非常感谢!!

最佳答案

有时 Entity Framework 不会产生最好的查询。您可以执行以下一些操作来进行优化。

  1. 修改 linq 语句(用 LINQPad )
  2. Create a stored proc and map the stored proc to return an entity
  3. 创建一个处理连接的 View 并将该 View 映射到一个新的实体

关于linq - Entity Framework 4 生成的查询正在连接完整的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3978170/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com