gpt4 book ai didi

c# - 我在 Entity Framework 中放置条件的顺序有关系吗

转载 作者:行者123 更新时间:2023-11-30 15:26:13 27 4
gpt4 key购买 nike

我在 Entity 框架中放置条件的顺序重要吗?我知道 EF 在运行 SQL 查询之前做了一些优化。那么我先放什么条件重要吗?

例如(只是我们应用程序中真实查询的一个子集)。 CaseNumber 是一个字符串,OrganizationId 是一个 guid。

context.Evaluation.Where(e => e.Case.CaseNumber.Contains(inputModel.CaseNumber) && e.Case.OrganizationId == inputModel.OrganizationId)

或者

context.Evaluation.Where(e => e.Case.OrganizationId == inputModel.OrganizationId) && e.Case.CaseNumber.Contains(inputModel.CaseNumber)

最佳答案

MS Sql 是高级 RDBMS,对每个查询和缓存都有自己的执行计划,为连续查询制定计划,这就是它为您提供高性能的方式。

Entity 框架中使用的每个 lambda 表达式首先转换为 sql 查询,然后由 sql 分析器进行优化,因此在 lambda 表达式中放置条件并不重要。

但是如果您仍然没有获得所需的性能并且认为 sql 执行计划不符合标准,您可以强制 sql 优化器使用您定义的执行计划。

你可以读到 here.你可以在stack overflow 上关注

关于c# - 我在 Entity Framework 中放置条件的顺序有关系吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29841180/

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