LINQ to SQL学习笔记(一)——Where

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

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

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

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

一、简单形式

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

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

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

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

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

二、关系条件形式

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

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

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

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

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

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

三、First()形式

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

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

?
1
Student student = db.Students.First();

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

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

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

 

总结:

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值