【发布时间】:2017-01-21 03:39:28
【问题描述】:
我想知道以下 3 个 Linq 表达式中哪一个是相等的,或者与其他表达式相比是否更好,为什么?
var studentDetails1 = context.Student.OrderBy(a => a.Age).Select(s => new { s.Name, s.Age }).ToList();
var studentDetails2 = context.Student.Select(s => new { s.Name, s.Age }).OrderBy(a => a.Age).ToList();
var studentDetails3 = context.Student.OrderBy(a => a.Age).ToList().Select(s => new { s.Name, s.Age });
(通常这里的上下文意味着 DBContext 和 Student 是具有 Name 和 Age 属性的数据库实体)
【问题讨论】:
-
为什么不对它们进行基准测试?
-
埃里克我没听懂你..
-
当我有实际问题并且没有给出解释只是拒绝投票时,这真的很烦人。
-
我喜欢你的问题...不知道为什么有人会否决它。无论哪种方式,我建议您将不同风格的查询放在 LINQPad 中,然后查看生成的 SQL。
标签: c# .net performance entity-framework linq