开发人员不需要关心将要访问的是关系数据库还是XML数据,或是远程对象,它都采用同样的访问方式。
Linq包含一系列的查询技术,其中Linq到对象是对内存进行操作,LINQ到SQL是对数据库的操作,LINQ到XML是对XML数据进行操作,LINQ到实体是对实体对象模型数据进行操作。
使用Linq查询通常由以下三个不同的操作步骤组成:获得数据源;创建查询;执行查询。
protected void Page_Load(object sender, EventArgs e) { string[] words = { "aPPLE", "BlUeBeRrY", "cHeRry", "HAryY", "lOvE" }; int i = 0; var upperLowerWords = from w in words select new { Upper = w.ToUpper(), Lower = w.ToLower() }; foreach (var ul in upperLowerWords) { Response.Write(words[i] + "单词的大写为:" + ul.Upper + "<br />"); Response.Write(words[i] + "单词的小写为:"+ ul.Lower +"<br />"); i++; } }
LINQ最具突破性的优势在于将文本和对象操作完美集成,它让查询数据和操作对象一样安全和轻松。查询是Linq的核心概念之一。
LINQ和泛型
IEnumerable<Student> StudentQuery = from s in Students where s.Name == "张琴" select s; foreach (Student s in StudentQuery) { Console.WriteLine(s.Name + "," + s.age); } //为了避免使用泛型语法,我们可以使用匿名类型来声明查询,即使用var关键字来声明查询。 //如果没有特别的需要,建议使用不指定数据类型的本地变量(包括泛型集合),让编译器自动根据数据源判断具体的元素类型 var StudentQuery = from s in Students where s.Name == "张琴" select s; foreach (Student s in StudentQuery) { Console.WriteLine(s.Name + "," + s.age); }
原文:http://www.cnblogs.com/chiyueqi/p/3674535.html