Linq Select子句全面总结

开发 后端
这里介绍Linq Select子句指定所返回元素的形式和内容。若要检索包含整个数据源对象的集合,请选择范围变量本身。若要从数据源中选择多个字段,您可以使用两种方法。

Linq有很多值得学习的地方,这里我们主要介绍Linq Select子句,包括介绍Linq Select子句指定所返回元素的形式和内容等方面。

选择数据(SELECT)

Linq Select子句指定所返回元素的形式和内容。若要检索包含整个数据源对象的集合,请选择范围变量本身。若要从数据源中选择多个字段,您可以使用两种方法:

1、在Linq Select子句中,指定要包含在结果中的字段。编译器将定义一个匿名类型,该类型将这些字段作为其属性。如:

  1. Dim londonCusts4 = From cust In customers _  
  2. Where cust.City = "London" _  
  3. Order By cust.Name Ascending _  
  4. Select Name = cust.Name, Phone = cust.Phone 

2、定义含有您要包括在结果中的特定字段的命名类型,并在Linq Select子句中创建和初始化该类型的实例。仅当您必须在返回各个结果的集合以外使用这些结果,或者必须将这些结果作为参数传入方法调用时,才使用此选项。

  1. Dim londonCusts5 = From cust In customers _ Select New NamePhone With 
    {
    .Name = cust.Name, _.Phone = cust.Phone

如果未指定Linq Select子句,查询将根据为当前范围变量的所有成员返回一个类型。

Linq Select子句可以引用当前范围中的任何变量,包括在 From 子句中标识的范围变量,由 Aggregate、Let、Group By 或 Group Join 子句通过别名创建的任何新变量或查询表达式中之前的Linq Select子句创建的变量。Linq Select子句还可以包含静态值。

Linq Select子句可为后续的其他子句子句引入一组新的范围变量,而之前的范围变量不再位于范围中,查询表达式中的***一个Linq Select子句确定查询的返回值。例如:

  1. Dim customerList = From cust In customers, ord In cust.Orders _  
  2. Select Name = cust.CompanyName  
  3. //引入新范围变量  
  4. Total = ord.Total, ord.OrderID _  
  5. //引入新范围变量  
  6. Where Total > 500 _  
  7. //后续子句使用新的范围比例  
  8. Select Name, OrderID 

【编辑推荐】

  1. Linq表达式树简单介绍
  2. Linq和dLinq区别剖析
  3. Lambda表达式和Linq查询浅析
  4. Linq Lambda表达式概括
  5. Linq查询本质简单分析
责任编辑:佚名 来源: 博客园
相关推荐

2009-09-10 17:30:15

LINQ Where子

2009-09-16 13:02:12

LINQ查询子句

2009-09-10 15:45:07

Linq使用Selec

2009-09-18 16:20:36

LINQ基础

2009-09-17 13:15:20

LINQ查询

2009-09-16 10:38:43

LINQ查询

2009-08-27 13:10:54

LINQ from子句

2009-09-16 17:21:53

LINQ遍历

2009-09-09 14:40:43

Linq to sql

2009-09-11 12:13:40

LINQ to SQL

2009-09-16 10:48:32

LINQ查询操作

2009-09-16 16:55:07

LINQ to XML

2009-09-16 17:41:56

Linq延时执行

2009-09-18 13:53:09

LINQ工具集

2009-09-16 10:58:13

Linq数据分组

2009-09-18 17:17:58

LINQ模型

2009-09-18 16:41:46

Linq to sql

2009-06-12 09:44:04

LINQ查询复合from子句

2009-08-27 10:14:04

LINQ基础概念

2009-09-17 17:03:13

LINQ动态查询
点赞
收藏

51CTO技术栈公众号