美文网首页
LINQ to SQL的Where

LINQ to SQL的Where

作者: 子武不是字母 | 来源:发表于2016-11-23 13:56 被阅读13次

与SQL命令中的Where作用相似,起到过滤作用。
一个员工安排到一辆车上,一辆车可以有很多员工,车牌号和员工号是一对多的关系。
员工类

public class Employee
{
       /// <summary>
       /// 车牌号
       /// </summary>
       public int CarNo { get; set; }

       /// <summary>
       /// 员工号
       /// </summary>
       public string EmployeeNo { get; set; }

       /// <summary>
       /// 描述
       /// </summary>
       public string Description { get; set; }

       /// <summary>
       /// 年龄
       /// </summary>
       public int Age { get; set; }
}

获取员工数据方法

public static List<Employee> GetList()
{
        return new List<Employee>()
        {
                 new Employee(){ CarNo=1,EmployeeNo="NO-1",Description ="广州分公司",Age=21},
                 new Employee(){ CarNo=2,EmployeeNo="NO-2",Description ="惠州分公司",Age=30},
                 new Employee(){ CarNo=3,EmployeeNo="NO-3",Description ="东莞分公司",Age=27},
                 new Employee(){ CarNo=4,EmployeeNo="NO-4",Description ="广州分公司",Age=28},
                 new Employee(){ CarNo=3,EmployeeNo="NO-4",Description ="东莞分公司",Age=52},
                 new Employee(){ CarNo=1,EmployeeNo="NO-5",Description ="深圳分公司",Age=18},
                 new Employee(){ CarNo=1,EmployeeNo="NO-6",Description ="中山分公司",Age=21},
                 new Employee(){ CarNo=2,EmployeeNo="NO-7",Description ="广州分公司",Age=31},
                 new Employee(){ CarNo=5,EmployeeNo="NO-8",Description ="佛山分公司",Age=19},
                 new Employee(){ CarNo=6,EmployeeNo="NO-9",Description ="深圳分公司",Age=20}
        };
}

获取年龄大于30岁的所有员工信息

var employeeList = Employee.GetList();
var list = employeeList.Where(x => x.Age > 30);
StringBuilder sb = new StringBuilder();
foreach (var item in list)
{
      sb.AppendFormat("员工号{0},描述:{1},年龄:{2}<br/> ", item.EmployeeNo, item.Description, item.Age);
}

输出结果:

员工号NO-4,描述:东莞分公司,年龄:52
员工号NO-7,描述:广州分公司,年龄:31

获取年龄大于20岁并且坐1号车的所有员工信息

var employeeList = Employee.GetList();
var list = employeeList.Where(x => x.Age > 20 && x.CarNo == 1);
StringBuilder sb = new StringBuilder();
foreach (var item in list)
{
      sb.AppendFormat("员工号{0},描述:{1},年龄:{2}<br/> ", item.EmployeeNo, item.Description, item.Age);
}

或者

var employeeList = Employee.GetList();
var list = employeeList.Where(x => x.Age > 20).Where(x => x.CarNo == 1);
StringBuilder sb = new StringBuilder();
foreach (var item in list)
{
      sb.AppendFormat("员工号{0},描述:{1},年龄:{2}<br/> ", item.EmployeeNo, item.Description, item.Age);
}

输出结果:

员工号NO-1,描述:广州分公司,年龄:21
员工号NO-6,描述:中山分公司,年龄:21

相关文章

  • LINQ to SQL的Where

    与SQL命令中的Where作用相似,起到过滤作用。一个员工安排到一辆车上,一辆车可以有很多员工,车牌号和员工号是一...

  • EF Core 备忘

    模糊查询sql linq 内连接查询sql linq 左连接查询sql linq 左连接查询(连接内带条件)sql...

  • (转).NET面试题系列[14] - LINQ to SQL与I

    LINQ to Object和LINQ to SQL有何区别? LINQ to SQL可以将查询表达式转换为SQL...

  • 早知道LINQ这么方便当初就不学SQL了

    LINQ To SQL 概述 把.NET 类和SQL 数据通过关系进行映射 把LINQ 查询转化为SQL 语言进行...

  • Linq

    Enumerable Where Select Linq 读作 link 语言集成查询(Language Inte...

  • Linq 学习资料

    (原创)一步一步学Linq to sql系列文章 【转】Linq 求和,求平均值,求最大,求最小,分组,计数

  • mybatis 动态sql

    where if for each sql定义sql段

  • LINQ to SQL的Select

    和SQL命令中的select作用相似但位置不同,查询表达式中的select及所接子句是放在表达式最后并把子句中的变...

  • C#3.0 LINQ(语言集成查询)

    定义 LINQ:将查询功能集成到C#语言的技术统称,它允许我们以SQL查询数据库的方式来查询数据集合 LINQ的查...

  • SQL左右连接中的on and和on where的区别

    SQL左右连接中的on and和on where的区别 原先一直对SQL左右连接中的on and和on where...

网友评论

      本文标题:LINQ to SQL的Where

      本文链接:https://www.haomeiwen.com/subject/oehvpttx.html