【原创】LINQ to SQL学习笔记(一)——Where

  从年前一直在做一个项目,所有没有时间来看书学习,最近终于有点空闲时间了,就想认真学习下在项目中用到的Linq to SQL。在做项目的过程中觉得Linq很是神奇,语法简单、直观,对于我这个SQL语句不是特别精通的菜鸟来说帮助甚大,所以就抽时间来好好学习学习Linq的精妙。

  今天学习的内容是Where的使用,主要是通过例子来展示。

  Linq中的Where与SQL命令中的Where很类似,都是起到了过滤的作用,Where后面紧接判定条件子句。

  Where操作包括三种形式,分别为简单形式、关系条件形式、First()形式。

一、简单形式

   我将简单形式理解为单一条件的Where语句,即在条件子句中只是通过>、<、=、≠作为条件来过滤数据。

  例如:使用Where筛选年龄大于20岁的学生

var query = from student in db.Students
                   where student.Age > 20
                   select student;
  或者:
var query = db.Students.Where(student=>student.Age > 20);

  又或者筛选来自北京的学生

var query = from student in db.Students
                    where student.City=="北京"
                    select student;
或者:
var query = db.Students.Where(student=>student.City=="北京");

二、关系条件形式

   关系条件形式与简单形式的不同在于,它的条件子句中包含多个条件的并或交,即在简单形式的基础上加上&&、||。

  例如:筛选来自北京且年龄大于20岁的学生

var query = from student in db.Students
                   where student.Age > 20 && student.City=="北京"
                   select student;
  或者:
var query = db.Students.Where(student=>student.Age > 20 && student.City=="北京");

  再如,筛选来自壮族或满族的学生

var query = from student in db.Students
                    where student.Nationality == "壮族" || student.Nationality == "满族"
                    select student;
或者:
var query = db.Students.Where(student=>student.Nationality == "壮族" 
                      || student.Nationality == "满族");

  大家可以很容易的区分简单形式和关系条件形式的不同。

三、First()形式

   First形式与前面两种不同,它类似于在SQL命令中的Top(1)限定,即我们只返回集合中的第一个元素。

  例如:选择学生名单中的第一个学生

Student student = db.Students.First();

  再如:选择学号为1101021的学生

Student student = db.Students.First(student=>student.StuNo=="1101021");

  使用First形式,可以用唯一值来作筛选条件以便确定出唯一需要的数据。

 

总结:

      在使用Linq to SQL的过程中简化了以前使用SQL的繁琐书写,使语句更加的简单直观。通过今天的Where学习,更加熟练了这方面的操作,也让我更加喜欢神奇的Linq了。

posted @ 2013-03-11 19:15  1Q84mi  阅读(1960)  评论(6编辑  收藏  举报