码迷,mamicode.com
首页 > 其他好文 > 详细

LINQ操作符一:Select

时间:2017-05-07 23:10:28      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:uid   技术   log   加载   var   from   read   集合   筛选   

一、什么是LINQ?它可以用来做什么

语言集成查询(Language Integrated Query,LINQ)是一系列标准查询操作符的集合,这些操作符几乎对每一种数据源的导航、过滤和执行操作都提供了底层的基本查询架构。

LINQ可查询的数据源包括XML(可使用LINQ TO XML)、关系数据(使用LINQ TO SQL,及先前的DLINQ)、ADO.NET DataSet(使用LINQ TO DataSet),以及内存中的数据。

二、投影操作符:Select

Select操作符对单个序列或集合中的值进行投影。所谓投影,比如有一个数据集,想用LINQ语法去操作数据集,会写一个LINQ的表达式,表达式会把数据集合中的数

据简单的投影到一个变量中,并且可以通过这个变量去筛选数据。

示例:

Employees类

public class Employees
{
        public Guid Id { get; set; }
        public string Name { get; set; }
        public int Sex { get; set; }
        public string CompanyName { get; set; }
}

 

class Program
{
        static void Main(string[] args)
        {
            //使用集合初始化器给集合赋值
            List<Employees> emp = new List<Employees> 
            { 
               new Employees(){Id=Guid.NewGuid(),Name="张三",Sex=0,CompanyName="xx技术有限公司"},
               new Employees(){Id=Guid.NewGuid(),Name="李四",Sex=0,CompanyName="xx培训"},
               new Employees(){Id=Guid.NewGuid(),Name="王五",Sex=0,CompanyName="xx集团"}
            };

            //查询语法:不能省略最后的select
            var query = (from p in emp where p.Name.StartsWith("") select p).FirstOrDefault();

            //查询方法:设计到Lambda表达式,全部返回 可以省略最后的select 延迟加载
            var query1 = emp.Where(p => p.Name.StartsWith("")).Select(e => new { e.Name,e.CompanyName});

            //查询方法:返回匿名类
            var query2 = emp.Where(p => p.Name.StartsWith("")).Select(p => p);
            foreach (var item in query1)
            {
                Console.WriteLine(item.Name);
            }
            Console.ReadKey();
        }
}

 

LINQ操作符一:Select

标签:uid   技术   log   加载   var   from   read   集合   筛选   

原文地址:http://www.cnblogs.com/dotnet261010/p/6822559.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!