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

查看:227
本文介绍了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?

推荐答案

查询表达式编译为方法表达式(Lambda表达式),所以不应该有任何区别,在你的代码虽然你正在访问首先 FirstOrDefault 这将表现不同。

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天全站免登陆