Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linq 林克托。。。和Lambda表达式_Linq_Linq To Sql_C# 4.0_Lambda_Linq To Entities - Fatal编程技术网

Linq 林克托。。。和Lambda表达式

Linq 林克托。。。和Lambda表达式,linq,linq-to-sql,c#-4.0,lambda,linq-to-entities,Linq,Linq To Sql,C# 4.0,Lambda,Linq To Entities,我有一个长期困扰我的大问题,我似乎在任何地方都找不到一个直接的答案。我相信,如果有人能够以权威和好的例子回答这个问题,这不仅会帮助我,而且会帮助成千上万的开发者。我只想知道以下概念的特点是什么,它们之间有什么区别 Linq Linq到SQL Linq到实体 Linq到对象 Lambda表达式 另外,特别是,有人能告诉我们,像这样的结构属于上述类别吗 构造1 var result = from n in nums where n < 5 o

我有一个长期困扰我的大问题,我似乎在任何地方都找不到一个直接的答案。我相信,如果有人能够以权威和好的例子回答这个问题,这不仅会帮助我,而且会帮助成千上万的开发者。我只想知道以下概念的特点是什么,它们之间有什么区别

Linq

Linq到SQL

Linq到实体

Linq到对象

Lambda表达式

另外,特别是,有人能告诉我们,像这样的结构属于上述类别吗

构造1

var result = from n in nums
             where n < 5
             orderby n
             select n;

我们热切期待您的澄清。

我相信这里有一些过于简化的地方,但值得一提的是:

Linq是一种用于处理数据集的API<例如,code>IQueryable来自
System.Linq
命名空间Linq to…是根据数据存储方式解析相同Linq指令以执行不同操作的不同实现。因此,Linq to SQL将解析您的
。Where
指令生成带有
Where
子句的SQL查询,而Linq to Objects将采用相同的指令并生成
foreach

lambda表达式几乎是匿名委托的简写。您可以通过
=>
操作符识别lambda。参数列表位于
=>
的左侧,可以访问这些参数并可选地返回结果的表达式位于右侧


您的两个代码示例是可以编写Linq查询的不同语法。它们分别称为查询语法和方法语法。

我没有投反对票,但你的问题是一般性的(堆栈溢出是关于特定的编程问题),只需做一点谷歌搜索和阅读就可以回答
Entities.Person.Where(p => p.FirstName == "John").First();