1、LINQ字面含义是“语言集成的查询”
Language Integrated Query,它是下一版visual studio的功能重点之一。让大家可以用类似sql的语言来操作多个数据源,例如:Object Colletions,XML,DataSet以及Database。
2、除了可以实现查询、过滤、修改删除等操作,还可以实现更多属性及方法。与以往的面向对象数据,面向关系的数据,及对象集的sql语句数据的区别是减少了代码量,简化程序。且速度加快性能优良,据微软城市使用他们认为最优化的方法来实现数据处理,比我们自己写的要好用。
3、.Net Language Integratesd Query:
Standard Query Operators:Objects
Dlinq(ADO.Net):SQL
Xlinq(System.XML):XML
4、LINQ新特性:
Unified query and transformation of object,relational,and XML data统一的对三种对象的查询语言,转换语言
Native query syntax with the expressiveness of SQL and Xquery语法类似SQL,Xquery
Type checking,Intellisense,code refectoring for queries类型检查,代码转重构
Extensibility model for language/APIs可扩展的API
5、LINQ还可以快速生成XML,且方便的使用操作XML。特点:简化性、一致性,提高生产效率,防止无效工作。谢大量的重复的代码不仅无效且加大了出错几率。用LINQ减少出错机会。
6、Object数据
Collections:Array数组
Dim qll=from proc in System.Dialognostics.Process.GetProcesses()
Where proc.thread.count<6
Sselect proc
Dim file=from f in new DirectoryInfo(“C:/”).GetFiles()
Where (f.Attributes and File.Attributes.Hidden=true)
Select
处理object数据用类似sql的代码完成查询、排序、个数统计等
另外还有下列的类似方法:skip()跳过,take()取前几个,union()合并
个数统计:count
7、Relation关系数据库
Dlinq
Ado.Net
用类似ORMapper的工具映射,是一个表对应一个类
若原来表之间关系,在映射到类时,也会自动生成
当然除了用工具生成类之外,也可以手写类代替,配置好文件就可以
存储过程也可用于Linq
其余数据库要想用LINQ,只要在LINQ做个插件,就可以实现LINQ的功能LINQ具有可扩展的API
8、XLINQ
用到命名空间:System.Xelement
原来的XML结构应用复杂是基于Element,查询慢,不方便,Code量大,实现速度慢
而在现在的XLINQ中在XML文件中可以插入Code,如:<name><%=c.companyname%></name>.。在XML中插入code用<% %>,类似asp可以配置生成XML
对XML应用LINQ的例子:
From I in myorder.<item>
Where i.@price.Value>100
Select i
其中myorder是xml文件名,<item>是结点,Price是<item>的一个属性
不是原来的以File为中心,而是以Element为中心,首先Load Xml文件,生成Elemtn,再来处理Xlinq。