Linq基础知识

开发人员不需要关心将要访问的是关系数据库还是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++;
        }
    }
View Code

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);
            }
View Code

 

posted @ 2014-04-19 06:29  赤月奇  阅读(273)  评论(0编辑  收藏  举报