Linq介绍
什么是LINQ?
LINQ全称Language Integrated Query,中文翻译"语言集成查询".
在.NET框架中,大致使用三大组件实现这个封装,分别 LINQ to Objects,LINQ to ADO.NET,LINQ to XML.
LINQ在实际编程中大致是下面这种方式:
//建立一个内存数组
string[] arr={"张三","李四","王武","赵柳"};
//检索名字长度为2的名字
var value=from name in arr where name.Length=2 select name;
foreach(var item in value)
{
Console.WriteLine(item);
}
为什么要用LINQ?
LINQ的好处:
不容易写错,防SQL注入,提升性能,编译检查,统一的数据处理方式,不需要掌握多种数据源操作方式.
初识LINQ to Objects
LINQ to Objects 可以对IEnumerable或泛型IEnumerable<T>借口的集合,数组对象进行查询.
在没有LINQ之前一般使用foreach循环查询,而LIQN提供了一个全新的方式.就如上面那种方式.
初识LINQ to ADO.NET
用LIQN技术查询关系型数据库,需要使用LINQ to ADO.NET ,它还细分为LINQ to SQL, LINQ to DataSet以及在VS2008之后开发的LINQ to Entities:
>LINQ to SQL 通过使用开发者建立的一个映射 SQL server 中的数据表.,被称作实体类的类型,来完成对数据库的查询,修改,删除等操作.
>LINQ to DataSet用来查询DataSet数据集或从数据库断开连接的数据.
>LINQ to Entities的用途跟LINQ to SQL类似,但比LINQ to SQL功能更加复杂和强大,例如,在一个实体类中映射多个数据表格和他们之间的关系,用LINQ查询Mcirosoft SQL Server系列产品以外的关系的数据库等.
初识LIVQ to XML
XML应用已经非常普遍,常见的Intetnet网页文件,聚合RSS文件,程序的配置文件,WedSeriver以及最新格式的Microsoft Office Word文件等都是基于XMLDE.
使用LIVQ to XML可以访问和修改内存中的文档对象模型(DOM),相比DOM,LINQ to XML 是一种更加轻量级的模型,创建,修改和查询更加方便.使用LINQ表达式查询XML代码简洁,功能强大,类似与SQL的查询语法,学习起来也比较轻松.
Linq介绍的更多相关文章
- linq介绍及工作中应用两例——左联与内联,linq循环方法
目录 1 linq介绍 1.1 linq产生背景 1.2 linq使用范围 1.3 linq核心程序集 1.4 linq架构图 1.5 linq使用形式对比 1.5.1 linq To Objects ...
- [C# 基础知识系列]专题十六:Linq介绍
转自http://www.cnblogs.com/zhili/archive/2012/12/24/Linq.html 本专题概要: Linq是什么 使用Linq的好处在哪里 Linq的实际操作例子— ...
- LINQ之路 1: LINQ介绍
LINQ是.NET Framework 3.5的新特性,其全称是 Language Integrated Query,即语言集成查询,是指将查询功能和语言结合起来.从而为我们提供一种统一的方式,让我们 ...
- EntityFramework数据持久化 Linq介绍
一.LINQ概述与查询语法 二.LINQ方法语法基础(重点) 三.LINQ聚合操作与元素操作(重点) 四.数据类型转换(重点) 一.LINQ概述与查询语法 1.LINQ(Language Integr ...
- c# linq查询语句详细使用介绍
本文介绍Linq的使用方法 linq介绍 LINQ只不过是实现IEnumerable和IQueryable接口的类的扩展方法的集合. LINQ可以查询IEnumerable集合或者IQueryable ...
- LinQ系列文章
温故而知新,想着系统再学习一次LinQ知识点,发现园子里有个非常棒的系列文章,所以Mark下来,方便以后查阅! 系列博客导航: LINQ之路系列博客导航 LINQ之路 1:LINQ介绍 LINQ之路 ...
- LINQ之路 4:LINQ方法语法
书写LINQ查询时又两种语法可供选择:方法语法(Fluent Syntax)和查询语法(Query Expression). LINQ方法语法是非常灵活和重要的,我们在这里将描述使用链接查询运算符的方 ...
- LINQ之路 3:C# 3.0的语言功能(下)
在LINQ介绍一篇中,我们已经看到了隐式类型变量var,扩展方法(Extension method)和Lambda表达式的身影.没错,他们正是LINQ技术的基石,是他们让LINQ的实现成为可能,并且简 ...
- LINQ之路 2:C# 3.0的语言功能(上)
在上一篇的LINQ介绍中,我们已经看到了隐式类型变量var,扩展方法(extension method)和lambda表达式的身影.没错,他们正是LINQ技术的基石,是他们让LINQ的实现成为可能,并 ...
随机推荐
- Qt入门(18)——使用信号和槽连接控件
下面显示了如何使用信号和槽来创建自定义窗口部件,和如何使用更加复杂的方式把它们连接起来. 首先,源文件被我们分成几部分并放在放在t7目录下. t7/lcdrange.h包含LCDRange类定义.t7 ...
- Qt入门(10)——调试技术
命令行参数当你运行Qt程序时,你可以指定几个命令行参数来帮助你调试.-nograb 应用程序不再捕获鼠标或者键盘.当程序在Linux下运行在gdb调试器中时这个选项是默认的.-dograb 忽略任何隐 ...
- github上排名靠前的java项目之_storm
1.和hadoop的比较 Storm: 分布式实时计算,强调实时性,常用于实时性要求较高的地方 Hadoop:分布式批处理计算,强调批处理,常用于数据挖掘.分析 2.Hadoop是实现了mapre ...
- 数据结构(块状链表):COGS 1689. [HNOI2010]Bounce 弹飞绵羊
时间限制:1 s 内存限制:259 MB [题目描述] 某天,Lostmonkey发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏.游戏一开始,Lostmonkey在地 ...
- 贪心 BZOJ 3671:[Noi2014]随机数生成器
Description Input 第 1行包含5个整数,依次为 x_0,a,b,c,d ,描述小H采用的随机数生成算法所需的随机种子.第2行包含三个整数 N,M,Q ,表示小H希望生成一个1到 ...
- Android *.db-journal
config.xml <!-- The default journal mode to use use when Write-Ahead Logging is not active. Choic ...
- 我的学习笔记之node----node.js+socket.io实时聊天(2)
废话不多说,直接贴代码吧.注释很详细了. 服务端代码: /** * Created by LZX on 2015/10/7. */(function () { var d = document, w ...
- GeoPandas官方中文文档--译著
译自GeoPandas 0.1.0 文档(原版译著,有错误欢迎交流,转载请注明) GeoPandas是一个开源项目,它的目的是使得在Python下更方便的处理地理空间数据.GeoPandas扩展了pa ...
- selenium grid 搭建
hub端 Step1: 下载 selenium-server-standalone-x.xx.x.jar我下载的是:selenium-server-standalone-2.44.0.jar下载地址: ...
- git 绑定github
1.创建一个名为git文件夹 2.git init 3.ssh-keygen -t rsa -C "邮箱地址" 4.根据上一步当中默认的文件夹找到id_rsa.pub 复制其中的内 ...