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

来源:互联网 发布:个人网站用什么域名 编辑:程序博客网 时间:2024/04/25 06:20

从年前一直在做一个项目,所有没有时间来看书学习,最近终于有点空闲时间了,就想认真学习下在项目中用到的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了。


<script type="text/javascript"><!--google_ad_client = "ca-pub-1944176156128447";/* cnblogs 首页横幅 */google_ad_slot = "5419468456";google_ad_width = 728;google_ad_height = 90;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
原创粉丝点击