Linq 查询或 Lambda 表达式? [英] Linq query or Lambda expression?

查看:33
本文介绍了Linq 查询或 Lambda 表达式?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在我的 ASP.NET、C#、Web 应用程序中使用实体框架.如果我需要从数据库中(在数据访问层)中选择一条记录,我应该使用哪种方法?Linq 查询还是 Lambda 表达式?

I'm using Entity Framework in my ASP.NET, C#, Web Application. If I need to select a record from DataBase (in Data Access Layer), which method should I use? Linq query or a Lambda Expression?

例如:-

//Linq        
var result = from a in db.myTable.Take(1) where a.Id == varId  select a;
return result.First();

//Lambda
return db.myTable.FirstOrDefault(a => a.Id == varId);

在这种情况下有什么首选方法或比其他方法有什么优势吗?

Is there any preferred way in this scenario or any advantage over the other?

推荐答案

Query Expression 编译成 Method Expression(Lambda 表达式),所以应该没有任何区别,在你的代码中虽然你访问的是 FirstFirstOrDefault 的行为会有所不同.

Query Expression compiles into Method Expression (Lambda expression), so there shouldn't be any difference, In your code though you are accessing First and FirstOrDefault which would behave differently.

请参阅:LINQ (C#) 中的查询语法和方法语法

LINQ 查询表达式(C# 编程)指南)

在编译时,查询表达式被转换为标准查询根据 C# 中规定的规则调用操作符方法规格.任何可以使用查询语法表达的查询也可以用方法句法来表示​​.然而,在大多数情况下查询语法更具可读性和简洁性.

At compile time, query expressions are converted to Standard Query Operator method calls according to the rules set forth in the C# specification. Any query that can be expressed by using query syntax can also be expressed by using method syntax. However, in most cases query syntax is more readable and concise.

这篇关于Linq 查询或 Lambda 表达式?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆