Linq用法小记
一、什么是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用法小记的更多相关文章
- [转]HttpClient的超时用法小记
HttpClient的超时用法小记 HttpClient在使用中有两个超时时间,是一直接触和使用的,由于上次工作中使用httpClient造成了系统悲剧的情况,特地对它的两个超时时间进行了小小的测试, ...
- Matlab norm 用法小记
Matlab norm 用法小记 matlab norm (a) 用法以及实例 norm(A,p)当A是向量时norm(A,p) Returns sum(abs(A).^p)^(1/p), for ...
- linux expect, spawn用法小记
linux expect, spawn用法小记_IT民工_百度空间 linux expect, spawn用法小记 版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://sys ...
- [转载]expect spawn、linux expect 用法小记
原文地址:expect spawn.linux expect 用法小记作者:悟世 使用expect实现自动登录的脚本,网上有很多,可是都没有一个明白的说明,初学者一般都是照抄.收藏.可是为什么要这么写 ...
- Shell常见用法小记
shell的简单使用 最近发现shell脚本在平常工作中简直算一把瑞士军刀,很多场景下用shell脚本能实现常用的简单需求,而之前都没怎么学习过shell,就趁机把shell相关的语法和常见用法总结了 ...
- linq用法整理
linq用法整理 普通查询 var highScores = from student in students where student.ExamScores[exam] > score se ...
- Linq用法笔记
一.什么是Linq? LINQ即Language Integrated Query(语言集成查询),LINQ是集成到C#和Visual Basic.NET这些语言中用于提供查询数据能力的一个新特性. ...
- 2017年12月13日 LinQ用法基本的增删改查
LinQ是什么? LinQ是语言集成的查询,是用于C#跟Vb的扩展语言 LinQ的用法 新建一个App_Code文件夹,在文件夹下添加一个数据LinQ to SQL类,可以直接直接点击服务器管理器然后 ...
- LINQ用法总结
之前一直用sql和拉姆达表达式,一直感觉linq不好用.用熟练了感觉期功能好强大,查询性能例外考究.这里讲讲基本用法. 内联查询: var list2 = (from a in db.Role whe ...
随机推荐
- 安装VUE Cli3 框架方法
下面为大家介绍一下怎样安装 VUE Cli3的步骤 官网地址 https://cli.vuejs.org/zh/guide/installation.html 一.首先要检查一下是否安装node环 ...
- PTA L2-011 玩转二叉树 二叉树+bfs
思路: 先建树,然后按层次输出. #include<iostream> #include<cstring> #include<cstdio> #include< ...
- web开发中如何使用引用字体
1.在style中添加代码: @font-face { font-family: mFont; src: url('../font/crapaud_petit.ttf'); } 2.使用 <h1 ...
- JavaOOP笔记
http://note.youdao.com/noteshare?id=bbdc0b970721e40d327db983a2f96371
- OI暑假集训游记
莞中OI集训游记 Written BY Jum Leon. I 又是一载夏,本蒟蒻以特长生考入莞中,怀着忐忑的心情到了8月,是集训之际.怀着对算法学习的向往心情被大佬暴虐的一丝恐惧来到了 ...
- linux的一些基础命令
Linux是基于Unix的开源免费的操作系统,是部署服务器的很好选择. 系统:win10 工具:vm虚拟机+Xshell/CRT 虚拟机的系统为linux centos 7 首先看一下linux的基 ...
- 【腾讯海纳】系统未发布时如何获取获取property_id在本地进行测试?
有现成https协议域名使用者,可忽略此文. 直接先上图,明白的人看一眼图片就知道怎么拿了,如下所示: 解释说明: 在完成添加套件,以及测试应用的前提下,按如下操作流程: 1.访问路径:登录“海纳开发 ...
- 邮件服务器 postfix
背景介绍 邮件服务器普遍需要一个主机名来使得mail from 以"账号@主机名"方式显示.由于外网上垃圾邮件太多,现在已不使用ip发邮件,很多网络供应商都会对来源不明的邮件进行限 ...
- Vue(MVVM)、React(MVVM)、Angular(MVC)对比
前言 昨天阿里内推电面一面,面试官了解到项目中用过Vue,就问为什么前端框架使用Vue而不适用其他的框架,当时就懵了.因为只用过Vue,不了解其他两个框架,今天就赶紧去了解一下他们之间的区别.大家发现 ...
- Win10上安装Python3.7-64bit
参考https://docs.opencv.org/4.1.0/d5/de5/tutorial_py_setup_in_windows.html 方法一:到官网上https://www.python. ...