【原创】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了。
本文出自 “1Q84mi” 博客,请务必保留出处