【EF学习笔记07】----------加载关联表的数据 贪婪加载

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

贪婪加载

//贪婪加载 
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语句,结果如下:

 

posted @ 2016-08-09 11:41  思如雨  阅读(639)  评论(0编辑  收藏  举报