zoukankan      html  css  js  c++  java
  • 加载关联表的数据 贪婪加载

     

    讲解之前,先来看一下我们的数据库结构:班级表 学生表

    贪婪加载

    复制代码
    //贪婪加载 
    using (var db = new Entities())
    {
        var classes = db.Classes.Where(v => v.ClassName == "机电10502").Include(v => v.Student);
        foreach (var cls in classes)
        {
            Console.WriteLine("============"+cls.ClassName);
            foreach (var stu in cls.Student)
            {
                Console.WriteLine(stu.StudentName);
            }
        }
    }
    //使用Include方法 只有一条sql语句被发送到数据库
    复制代码

    追踪SQL语句

    说明:此处根据条件查询,执行了一条SQL,一次性加载班级和该班级的所有学生

    该SQL语句执行结果如下:

    遍历所有班级和学生:

    复制代码
    using (var db = new Entities())
    {
        var classes = db.Classes.Include(v => v.Student);
        foreach (var cls in classes)
        {
            Console.WriteLine("============"+cls.ClassName);
            foreach (var stu in cls.Student)
            {
                Console.WriteLine(stu.StudentName);
            }
        }
    }
    复制代码

    同样只执行一条SQL语句,结果如下:

  • 相关阅读:
    Shell基础一
    Hash表
    哈希表
    设置不输入密码ssh登录
    C++ int与string的转化
    mysql之数据类型
    ICE之C/S通信原理
    mysql基础入门
    SQL练习之不反复执行相同的计算
    SQL练习之求解填字游戏
  • 原文地址:https://www.cnblogs.com/wfy680/p/11969414.html
Copyright © 2011-2022 走看看