两个 linq 查询有什么区别

本文关键字:什么 区别 查询 linq 两个 | 更新日期: 2023-09-27 18:32:24

那里的两段代码有什么区别?

这比使用的要好吗?

DataClassesDataContext db = new DataClassesDataContext();
var QSelect1 = from _ADS in db.tblADs
                where _ADS.fldAdsId == Convert.ToInt32(e.CommandArgument)
                select _ADS;
var QSelect2 = db.tblADs.Where(x => x.fldAdsId == Convert.ToInt32(e.CommandArgument));

两个 linq 查询有什么区别

第一个是查询表达式,第二个是 Lambda 表达式。它们是等效的。它们最终是一样的。

有关详细信息,请参阅: LINQ 中的查询语法和方法语法 (C#)

要记住的一件事是,有许多运算符在查询语法中没有关键字,您应该使用流畅的语法。这意味着外部的任何操作员以下情况:

Where, Select, SelectMany
OrderBy, ThenBy, OrderByDescending, ThenByDescending
GroupBy, Join, GroupJoin

您还可以使用它们的混合版本:

int matches = (from n in names where n.Contains ("a") select n).Count();