一、什么是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. 安装VUE Cli3 框架方法

    下面为大家介绍一下怎样安装  VUE Cli3的步骤 官网地址  https://cli.vuejs.org/zh/guide/installation.html 一.首先要检查一下是否安装node环 ...

  2. PTA L2-011 玩转二叉树 二叉树+bfs

    思路: 先建树,然后按层次输出. #include<iostream> #include<cstring> #include<cstdio> #include< ...

  3. web开发中如何使用引用字体

    1.在style中添加代码: @font-face { font-family: mFont; src: url('../font/crapaud_petit.ttf'); } 2.使用 <h1 ...

  4. JavaOOP笔记

    http://note.youdao.com/noteshare?id=bbdc0b970721e40d327db983a2f96371

  5. OI暑假集训游记

    莞中OI集训游记 Written BY Jum Leon. I        又是一载夏,本蒟蒻以特长生考入莞中,怀着忐忑的心情到了8月,是集训之际.怀着对算法学习的向往心情被大佬暴虐的一丝恐惧来到了 ...

  6. linux的一些基础命令

    Linux是基于Unix的开源免费的操作系统,是部署服务器的很好选择. 系统:win10 工具:vm虚拟机+Xshell/CRT  虚拟机的系统为linux centos 7 首先看一下linux的基 ...

  7. 【腾讯海纳】系统未发布时如何获取获取property_id在本地进行测试?

    有现成https协议域名使用者,可忽略此文. 直接先上图,明白的人看一眼图片就知道怎么拿了,如下所示: 解释说明: 在完成添加套件,以及测试应用的前提下,按如下操作流程: 1.访问路径:登录“海纳开发 ...

  8. 邮件服务器 postfix

    背景介绍 邮件服务器普遍需要一个主机名来使得mail from 以"账号@主机名"方式显示.由于外网上垃圾邮件太多,现在已不使用ip发邮件,很多网络供应商都会对来源不明的邮件进行限 ...

  9. Vue(MVVM)、React(MVVM)、Angular(MVC)对比

    前言 昨天阿里内推电面一面,面试官了解到项目中用过Vue,就问为什么前端框架使用Vue而不适用其他的框架,当时就懵了.因为只用过Vue,不了解其他两个框架,今天就赶紧去了解一下他们之间的区别.大家发现 ...

  10. Win10上安装Python3.7-64bit

    参考https://docs.opencv.org/4.1.0/d5/de5/tutorial_py_setup_in_windows.html 方法一:到官网上https://www.python. ...