C# linq中的关键字是什么?
有人能解释一下linq中的C# linq中的关键字是什么?,c#,.net,linq,C#,.net,Linq,有人能解释一下linq中的用于什么吗?在MySQL中,中的用于指定表。但我不明白它在linq中的用法 var artists = from a in context.Artists where a.Name.StartsWith("A") orderby a.Name select a; 它的意思基本上是一样的。特别允许您指定数据源和范围变量 也就是说,艺术家中的a意味着在数据源艺术家上
用于什么吗?在MySQL中,
中的用于指定表。但我不明白它在linq中的用法
var artists = from a in context.Artists
where a.Name.StartsWith("A")
orderby a.Name
select a;
它的意思基本上是一样的。特别允许您指定数据源和范围变量
也就是说,艺术家中的a意味着在数据源艺术家
上,命名序列的连续元素a
。对于查询的其余部分,a
引用了Artists
的元素
您编写的上述代码与
var artists = context.Artists
.Where(a => a.Name.StartsWith("A"))
.OrderBy(a => a.Name);
select * from Artists a
where a.Name is like 'A%'
order by a.Name
如果在LINQ提供程序抽象SQL数据库上执行上述操作,它最终将被转换为与
var artists = context.Artists
.Where(a => a.Name.StartsWith("A"))
.OrderBy(a => a.Name);
select * from Artists a
where a.Name is like 'A%'
order by a.Name
它在LINQ中的顺序稍有不同的原因是为了帮助解析器和IntelliSense引擎 基本上意思是一样的。特别允许您指定数据源和范围变量
也就是说,艺术家中的a意味着在数据源艺术家
上,命名序列的连续元素a
。对于查询的其余部分,a
引用了Artists
的元素
您编写的上述代码与
var artists = context.Artists
.Where(a => a.Name.StartsWith("A"))
.OrderBy(a => a.Name);
select * from Artists a
where a.Name is like 'A%'
order by a.Name
如果在LINQ提供程序抽象SQL数据库上执行上述操作,它最终将被转换为与
var artists = context.Artists
.Where(a => a.Name.StartsWith("A"))
.OrderBy(a => a.Name);
select * from Artists a
where a.Name is like 'A%'
order by a.Name
它在LINQ中的顺序稍有不同的原因是为了帮助解析器和IntelliSense引擎 它与SQL中的运算符完全相同。查询语句只是向后写,以使IntelliSense和类型推断工作正常。当FROM位于末尾时,这些功能无法正常工作
当您使用工具构建SQL语句时,基本上也在做同样的事情。首先指定要查询的内容,然后绘制连接链接,然后选择感兴趣的列。一个向后的工作流,就像Linq查询理解一样。事实上,您可能会认为SQL是向后的:)它与SQL中的运算符完全相同。查询语句只是向后写,以使IntelliSense和类型推断工作正常。当FROM位于末尾时,这些功能无法正常工作
当您使用工具构建SQL语句时,基本上也在做同样的事情。首先指定要查询的内容,然后绘制连接链接,然后选择感兴趣的列。一个向后的工作流,就像Linq查询理解一样。事实上,您可以认为SQL是向后的:)所有LINQ
查询操作都由三个不同的操作组成:
- 获取数据源李>
- 创建查询
- 执行查询
from
子句指定数据源,where
子句应用过滤器,select
子句指定返回元素的类型
因此,您的查询与
var artists = context.Artists
.Where(a => a.Name.StartsWith("A"))
.OrderBy(a => a.Name);
所有LINQ
查询操作都由三个不同的操作组成:
- 获取数据源李>
- 创建查询
- 执行查询
from
子句指定数据源,where
子句应用过滤器,select
子句指定返回元素的类型
因此,您的查询与
var artists = context.Artists
.Where(a => a.Name.StartsWith("A"))
.OrderBy(a => a.Name);
from用于指定您迭代的项的源(即表)。在Linq中,内容中的a。艺术家
与将a
设置为内容的别名几乎相同。艺术家
@Magnus u的意思是a
是表?@AnkurSharma noa
是表的别名。喜欢以
的形式从艺术家那里书写SQL@Magnus:不,它不是表的别名。这是一个范围变量。@Jason-在这个上下文中有什么区别?from用于指定您迭代的项的来源(即表)。在Linq中,内容中的a。艺术家
与将a
设置为内容的别名几乎相同。艺术家
@Magnus u的意思是a
是表?@AnkurSharma noa
是表的别名。喜欢以
的形式从艺术家那里书写SQL@Magnus:不,它不是表的别名。这是一个范围变量。@Jason-在这个上下文中有什么区别?SQL甚至不是向后的,而是由内而外的。名称解析信息在SQL表达式中“流动”的方式很奇怪,正如您所指出的,计算发生的顺序并不是它们在页面上出现的顺序。LINQ旨在缓解这两个问题;范围规则和事件顺序都从左到右保持一致。SQL甚至不是向后的,而是由内而外的。名称解析信息在SQL表达式中“流动”的方式很奇怪,正如您所指出的,计算发生的顺序并不是它们在页面上出现的顺序。LINQ旨在缓解这两个问题;范围规则和事件顺序都从左到右保持一致。