LINQ和sql中的SELECT关键字

时间:2013-11-15 15:18:28

标签: linq

为什么SELECT关键字在LINQ查询的最后?

from m in myClass1 
where m.myfield == value 
select m

而它在SQL查询的开头呢?

select * from myTable

3 个答案:

答案 0 :(得分:7)

这样您就可以在select子句中获得IntelliSense。

这样,当您开始键入select时,编译器已经知道查询中涉及的类型。

它也更自然地阅读;选择是任何查询的最后一步。

答案 1 :(得分:2)

因为这就是设计师设计它的方式。 LINQ不是SQL。

它还有助于查询格式遵循与lambda相同的流程:

myClass1.Where(m.myfield == value).Select(m => m);

答案 2 :(得分:1)

因为这是两种不同的语言:虽然看起来C#和VB.NET语言设计者看了SQL的关键词来借用语义,但他们没有采用语法“批发”,因为需要将语法融入语言在LINQ周围。

请注意,他们选择的语法对于自动完成工具很友好:在编写select时,类的名称是已知的,让Visual Studio为您提供自动完成的属性myClass