• 【原创】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了。

  • 相关阅读:
    【Storm篇】--Storm从初始到分布式搭建
    【Storm篇】--Storm 容错机制
    git命令log与reflog的比较
    长时间不操作Navicat或Putty会断线?
    git使用ssh密钥
    公钥能用公钥解吗?
    什么是公钥,,什么是密钥啊 ?有什么区别吗?
    CSS滑动门
    Html设置文本换行与不按行操作
    设置鼠标光标与页面favicon
  • 原文地址:https://www.cnblogs.com/1Q84mi/p/Linq_to_SQL_Where.html
Copyright © 2020-2023  润新知