刚刚接触Linq,就查看关于单词缩写,从Msdn上看到关于它简短英文官方介绍:程序员
传统上, 查询数据的语句是一些简单的字符串, 它没有编译时的类型检查或智能感知的支持, 而且, 你每换一种数据源, 你就得学习一种新的查询语言: SQL 数据库, XML 文档, 各类各样的web 服务, 等等. LINQ 是最优秀的查询语言, 它内嵌于C# 和VB. 当你编写查询语句时, 你可使用熟悉的关键字和操做符在强类型的对象集合上编写查询, 下面的示例展现了一个不完整的在SQL Server 数据库上的LINQ 查询, 用C# 语法 , 它拥有彻底的类型检查和智能感知支持.web
从上面看来Linq是集成于.NET3.5版本,全称基于关系数据的 .NET 语言集成查询,用于以对象形式管理关系数据,并提供了丰富的查询功能,它和Linq to xml、Linq to objects、Linq to dataset、Linq to entities等组成了强大的LINQ。sql
其实究其历史在2005年的微软开发者大会上,Anders Hejlsberg和他的开发团队,提出了一个新的,用于整合各类信息源索引的方式。简单的说Linq给Net Framework添加了一些方便的索引各类数据源的特性。包括Linq to sql,Linq to xml,Linq to objects,Linq to dataset,Linq to entitis等。其中Linq to sql是基于关系数据的 .NET 语言集成查询,用于以对象形式管理关系数据,并提供了丰富的查询功能。是最吸引个人一部分。Linq to objects可让咱们像写T-sql语句同样,方便的查询一个Object.在Linq中涉及到3.0版本的新特性,在Nathan的技术追逐之路博客上看到一个事例Demo很不错引用过来,数据库
- //写一个简单的实体类
- public static Class Teacher
- {
- public string Teachername{get;set;};
- public string Sex{get;set;}
- //定义构造方法
- public Teacher()
- {
- }
- }
则在3.0版本下利用新特性和Linq来编写代码:express
- var TeacherList=new List<Teacher>{
- new Teacher{Teachername="chenkaige",Sex="meal"},
- new Teacher{Teachername="Honghuang",Sex="fmeal"},
- new Teacher{Teachername="Zhangyimou",Sex="meal"}
- };
- //使用Linq代码 有点写Sql语句感受
- var selectperson = from p in Teacher where p.Teachername= "chenkaige" select p.Sex.ToUpper();
- //打印结果
- foreach(var Result in selectperson)
- {
- Response.write(Result+"<Br/>");
- }
代码输出结果是:CHENKAIGE换行MEAL,感受到Linq使用的强大的吧。上面是针对对象的使用,一样能够像写普通的C#代码同样操做Xml Document和DataSet,这样比之前老是写数据库链接要省事的多。编辑器
微软不断更新版本,目的是让咱们程序员可以把更多的精力用到业务上,除去没必要要的精力浪费,其中牵扯到.net3.0的新特性将作以总结。声明编辑器版本是Vs2008支持.net3.0.ide