一、什么是Linq?

LINQ即Language Integrated Query(语言集成查询),LINQ是集成到C#和Visual Basic.NET这些语言中用于提供查询数据能力的一个新特性。

LINQ是一种用来进行数据访问的编程模型,Linq可以用相同的语法访问不同的数据源,比如xml、数据库、注册表、事件日志等。

二、Linq包含哪些部分?

1、Linq to Sql组件:可以查询关系型数据库的数据,并可以提供其他操作,如检索、插入、修改、删除、排序、聚合、分区等。

2、Linq to DataSet组件:查询DataSet对象中的数据。

3、Linq to Object组件:可以查询IEnumerable或是IEnumerable 集合对象,即能够查询任何可以枚举的集合,如数组(Array和ArrayList)、泛型字典Dictinary等,以及用户自定义的集合,而不需要使用Linq提供程序或API。

4、Linq to XML组件:查询和操作XML结构的数据。

5、Linq to Entities:是 Entity Framework 的一部分并且取代 LINQ to SQL 作为在数据库上使用 LINQ 的标准机制。Entity Framework 是行业领先的对象-关系映射(ORM)系统。可以和多种数据库一起使用,并支持各种灵活、复杂的数据模型。

三、Linq的一些用法

1、简单的LINQ查询

 static void Main(string[] args)

 {

 int[] marks = { , , , , , , ,  };//定义一个数组

 var good = from m in marks//使用LINQ找到所有数值大于等于60的数字

 where m >= 

 select m;

 foreach (int mark in good)//循环每一个结果

 {

 Console.WriteLine(mark);//输出结果

 }

 }

  

2、使用Lambda表达式的LINQ查询

 static void Main(string[] args)

 {

 int[] marks = { , , , , , , ,  };

 var good = marks.Where(m => m >= );//使用Lambda表达式查询数值大于等于60的数字

 foreach (int mark in good)//循环每一个结果

 {

 Console.WriteLine(mark);//输出结果

 }

 }

3、使用LINQ查询对象集合

 class Program

 {

 static void Main(string[] args)

 {

 List students = new List//申明Student对象的集合

 {

 new Student{ StudentID=, Sex=true, Name="小明", Birthday=Convert.ToDateTime("1984-1-1")},

 new Student{ StudentID=, Sex=false, Name="小张", Birthday=Convert.ToDateTime("1983-5-1")},

 new Student{ StudentID=, Sex=true, Name="小王", Birthday=Convert.ToDateTime("1983-2-15")},

 new Student{ StudentID=, Sex=false, Name="小丽", Birthday=Convert.ToDateTime("1985-3-8")}

 };

//接下来使用LINQ查询所有年龄小于25岁的男性

 var names = from s in students

 where s.Sex == true&&s.GetAge()< //调用对象的方法

 select s.Name;

 foreach (string name in names)//循环输出结果

 {

 Console.WriteLine(name);

 }

 }

 }

 public class Student  //定义Student类

 {

 //以下是定义类中属性

 public string Name { get; set; }

 public int StudentID { get; set; }

 public bool Sex { get; set; }

 public DateTime Birthday { get; set; }

 //以下是定义类中的方法

 public int GetAge()

 {

 return DateTime.Now.Year - Birthday.Year;

 }

 }

四、Linq有什么好处?

1、容易上手,学习成本低

2、可以很大程度上减少代码量。

3、更快开发错误更少的应用程序。

4、可以很容易的合并数据源。

5、让新开发者开发效率更高。

6、任何对象或数据源都可以定制实现Linq适配器,为数据交互带来真正方便。

Linq用法小记的更多相关文章

  1. [转]HttpClient的超时用法小记

    HttpClient的超时用法小记 HttpClient在使用中有两个超时时间,是一直接触和使用的,由于上次工作中使用httpClient造成了系统悲剧的情况,特地对它的两个超时时间进行了小小的测试, ...

  2. Matlab norm 用法小记

    Matlab norm 用法小记 matlab norm (a) 用法以及实例 norm(A,p)当A是向量时norm(A,p)   Returns sum(abs(A).^p)^(1/p), for ...

  3. linux expect, spawn用法小记

    linux expect, spawn用法小记_IT民工_百度空间 linux expect, spawn用法小记 版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://sys ...

  4. [转载]expect spawn、linux expect 用法小记

    原文地址:expect spawn.linux expect 用法小记作者:悟世 使用expect实现自动登录的脚本,网上有很多,可是都没有一个明白的说明,初学者一般都是照抄.收藏.可是为什么要这么写 ...

  5. Shell常见用法小记

    shell的简单使用 最近发现shell脚本在平常工作中简直算一把瑞士军刀,很多场景下用shell脚本能实现常用的简单需求,而之前都没怎么学习过shell,就趁机把shell相关的语法和常见用法总结了 ...

  6. linq用法整理

    linq用法整理 普通查询 var highScores = from student in students where student.ExamScores[exam] > score se ...

  7. Linq用法笔记

    一.什么是Linq? LINQ即Language Integrated Query(语言集成查询),LINQ是集成到C#和Visual Basic.NET这些语言中用于提供查询数据能力的一个新特性. ...

  8. 2017年12月13日 LinQ用法基本的增删改查

    LinQ是什么? LinQ是语言集成的查询,是用于C#跟Vb的扩展语言 LinQ的用法 新建一个App_Code文件夹,在文件夹下添加一个数据LinQ to SQL类,可以直接直接点击服务器管理器然后 ...

  9. LINQ用法总结

    之前一直用sql和拉姆达表达式,一直感觉linq不好用.用熟练了感觉期功能好强大,查询性能例外考究.这里讲讲基本用法. 内联查询: var list2 = (from a in db.Role whe ...

随机推荐

  1. supervisor 配置程序挂起自启动

    使用 supervisor 服务,将程序监控起来,如果程序挂掉了,可以实现自启动 编写 c++ 程序 test.c #include <stdio.h> #include <stri ...

  2. [OC] UITableView 与 UItableViewCell 的使用

    UITableView  //UIViewController里添加一个UITableView @interface ViewController : UIViewController<UITa ...

  3. margin-top的兼容问题

    产生的条件:子元素给了margin-top,并且父元素没有浮也没有其他样式,浏览器解析的结果是父元素下去了. 解决方法:1.给子元素或者父元素添加浮动,缺点:如果不需要浮动,添加浮动也页面布局会乱 2 ...

  4. 大白话讲解Promise

    去年6月份, ES2015正式发布(也就是ES6,ES6是它的乳名),其中Promise被列为正式规范.作为ES6中最重要的特性之一,我们有必要掌握并理解透彻.本文将由浅到深,讲解Promise的基本 ...

  5. Azkaban日志中文乱码问题解决

    Azkaban作为LinkedIn开源的任务流式管理工具,在工作中很大程度上被用到.但是,由于非国人开发,对中文的支持性很不好.大多数情况下,会出现几种乱码现象: - 执行内置脚本生成log乱码 - ...

  6. Swagger2教程

    Swagger2教程 作用:编写和维护接口文档. 一.Swagger2 + SpringBoot集成 1.依赖 <!--依赖管理 --> <dependencies> < ...

  7. 自己编译Android(小米5)内核并刷入(一键自动编译打包)

    之前自己编译过Android系统,刷入手机.编译很简单,但坑比较大,主要是GFW埋的坑.. 编译android系统太大了,今天记下自己编译及刷入android内核的方法. 主要是看到第三方内核可以超频 ...

  8. python爬取珞珈1号卫星数据

    首先登录珞珈一号数据系统查询想要的数据 利用浏览器审查元素获取包含下载信息的源码 将最右侧的table相关的网页源码copy到剪切板备用 利用python下载数据 ## utf-8 import re ...

  9. 小白学习随笔the first week

    The First Week 一.计算机基础 1.软件(应用程序) 2.解释器/编译器 - 解释型语言:将代码每一行传递给计算机一行,常用编程语言python,PHP,Ruby. - 编译型语言:将代 ...

  10. 微信JS SDK接入的几点注意事项

    微信JS SDK接入,主要可以先参考官网说明文档,总结起来有几个步骤: 1.绑定域名:先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”.备注:登录后可在“开发者中心”查看对 ...