0

据我了解,我们有 LINQ 和 Lambda 表达式。使用 Lambda 表达式是否更可取,因为它们提供了 LINQ 可能没有的更多功能。

    LINQ vs Lambda
4

2 回答 2

0

我认为您的意思是queryvs.method语法。

编译器会将查询语法转换为方法语法。性能是一样的。

var x = from p in XYZ where p.Property == "SomeValue"

是相同的

var x = XYZ.Where(x => x.Property == "SomeValue") 

这更多是语法问题,取决于您想要做什么。可能性是一样的,性能是一样的。有时方法语法更容易阅读,有时查询语法更容易阅读。

于 2012-04-18T21:16:40.760 回答
0

在我们的应用程序中,我们倾向于根据开发人员的偏好混合和匹配它们。我的经验法则是,如果查询需要 Join 或 Group By,我使用 Lamda,如果它是一个简单的过滤语句,我使用 LINQ。

两者最终都会产生一条 SQL 语句,我建议http://www.linqpad.net/查看由您的 LINQ 或 Lamda 语句产生的查询和执行计划。

于 2012-04-18T21:18:37.997 回答