首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >查询还是方法?哪种方法对性能更好?

查询还是方法?哪种方法对性能更好?
EN

Stack Overflow用户
提问于 2018-08-06 14:15:11
回答 1查看 211关注 0票数 0

不久前,我进行了技术面试,工程师问我,从性能方面看,哪种方法更好,例如在实体框架中。显然,我不知道正确的答案(我说没有区别),我也没有在互联网上找到解决方案。

哪种方法更快?Data1还是Data2?

代码语言:javascript
运行
复制
using(MyContext db = new MyContext())
{
    var data1 = db.Users.Where(x => x.Name == "Test").FirstOrDefault();
    var data2 = (from x in db.Users where x.Name == "Test" select x).FirstOrDefault();
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-06 18:04:56

查询语法只是一种语法糖,在编译时一直被降为方法语法。

给出一个示例代码如下:

代码语言:javascript
运行
复制
var list = new List<Entity>();

var data1 = list.Where(x => x.Name == "Test").FirstOrDefault();
var data2 = (from x in list where x.Name == "Test" select x).FirstOrDefault();

您可以查看此代码的降低版本:

代码语言:javascript
运行
复制
List<Entity> source = new List<Entity>();
Entity entity = source.Where(<>c.<>9__0_0 ?? (<>c.<>9__0_0 = <>c.<>9.<M>b__0_0)).FirstOrDefault();
Entity entity2 = source.Where(<>c.<>9__0_1 ?? (<>c.<>9__0_1 = <>c.<>9.<M>b__0_1)).FirstOrDefault();

如您所见,这两个查询的查询结构完全相同。

完整的例子是这里

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51709695

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档