延迟加载只对 关联/导航 属性(Navigation Property)有用,普通属性没有这个东西。

延迟加载是一条一条的读取属性,调用一次,读取一次。

条件:

context.Configuration.ProxyCreationEnabled = true;(默认为true)

context.Configuration.LazyLoadingEnabled = true;(默认为true)

POCO类为public,导航属性要加virtual修饰符。

注:POCO---Plain Old CLR Object,指那些不包括INSERT、DEL等数据持久化操作及任何业务逻辑的原始类。

原理分析

EF动态的生成了实体类的子类,并在子类中override了virtual属性(所以不加virtual的话就得不到属性值)

优点:避免一次性加载所有数据,提高了加载的速度。

缺点:用一次加载一次,提高了数据库服务器的压力。

所以,当数据库的数据越多,我们用到的数据越少时,推荐使用延迟加载,反之使用预先加载。

这个就是动态生成的子类类型:

EF的延迟加载LazyLoad的更多相关文章

  1. EF使用延迟加载的本质原因

    EF(Entity Framework)是微软的一个ORM框架 使用过EF的同学都知道它有一个延迟加载的功能 那么这个延迟加载的功能到底是什么? 为什么需要延迟加载? 使用延迟加载的优点和缺点又各是什 ...

  2. Hibernate(四)--延迟加载(lazyload)

    hibernate中的延迟加载(lazyload)分属性的延迟加载和关系的延迟加载 属性的延迟加载: 当使用load的方式来获取对象的时候,只有访问了这个对象的属性,hibernate才会到数据库中进 ...

  3. EF中 实现延迟加载 lazyload

    1.创建数据库 2.利用数据库 生成视图 生成2个实体类 和一个model1类 3.写代码 (1) 创建 上下文对象 (2) (3)查询结果 注释: 延迟加载的原因,因为我们操作数据库不会那么简单, ...

  4. MVC ---- EF的延迟加载

    //EF中的where 有延迟加载功能(Iqueryable中的where) Sys_Log pEdit = nb.Sys_Log.Where(p=>p.F_Account== "su ...

  5. 延迟加载(Lazyload)三种实现方式

    定义:延迟加载也称为惰性加载,即在长网页中延迟加载图像.用户滚动到它们之前,视口外的图像不会加载.这与图像预加载相反,在长网页上使用延迟加载将使网页加载更快.在某些情况下,它还可以帮助减少服务器负载. ...

  6. MVC系列学习(三)-EF的延迟加载

    1.什么叫延迟加载 字面上可以理解为,一个动作本该立即执行的动作,没有立即执行 2.从代码上理解 static void Main(string[] args) { //执行该语句的时候,查看sql监 ...

  7. EF中延迟加载的那些事

    延迟加载又称懒加载,通俗一点就是关联了一个对象,不用的时候不去查这个对象,当调用的时候再组织sql去查出这个对象的相关内容. 一.在使用EF时,我们会发现借助于框架生成的实体类中的的导航属性通常是标记 ...

  8. 解析ASP.NET Mvc开发之EF延迟加载

    目录: 1)从明源动力到创新工场这一路走来 2)解析ASP.NET WebForm和Mvc开发的区别 3)解析ASP.NET Mvc开发之查询数据实例 ------------------------ ...

  9. EF的两种延迟加载

    EF的两种延迟加载 EF的延迟加载一: 在一次查询以后得到temp,然后在temp上直接进行查询得到temp2,我们调用temp2的时候,是直接为temp生成sql脚本的,没有生成temp的脚本,也就 ...

随机推荐

  1. 侧信道攻击,从喊666到入门之——Unicorn的环境构建

    作者:backahasten 发表于小米安全中心微信公众号 0x00 前言 Unicorn可以模拟多种指令集的代码,在很多安全研究领域有很强大的作用,但是由于需要从头自己布置栈空间,代码段等虚拟执行环 ...

  2. 取Cookie值

    string url_Login_Group = "http://ui.ptlogin2.qq.com/cgi-bin/login?appid=549000912&daid=5&am ...

  3. ng-项目结构

    ng启动过程 目录结构 . ├── e2e 端到端测试(暂且不关心) ├── node_modules npm安装的第三方包 ├── src 存放业务源码 ├── .angular-cli.json ...

  4. MyEclipse+Tamcat配置

    (尊重劳动成果,转载请注明出处:http://blog.csdn.NET/qq_25827845/article/details/53982209 冷血之心的博客) 一.Tomcat 1 Tomcat ...

  5. 剑指offer-面试题6-从头到尾打印链表-链表

    /* 题目: 输入一个链表的头节点,从尾到头反过来打印每个节点的值 */ /* 思路: 解法一:利用栈后进先出的特性. 解法二:利用递归函数的性质. */ void PrintListReversin ...

  6. Java_Day7(上)

    Java learning_Day7(上) 本人学习视频用的是马士兵的,也在这里献上 <链接:https://pan.baidu.com/s/1qKNGJNh0GgvlJnitTJGqgA> ...

  7. CentOS虚拟机挂载U盘

    参考:https://www.cnblogs.com/jizhong/p/9410659.html 1.检查VMUSBArbService服务是否正在运行 2.在VMWare中连接插入的U盘 3.使用 ...

  8. eclipse运行错误提示 Failed to load D:\Android\sdk\build-tools\26.0.0-preview\lib\dx.jar

    前几天在ecplise上运行项目还好好,今天一运行就提示这个错误:Your project contains error(s), please fix them before running your ...

  9. python 方法和函数

    代码 def func(): pass class Foo(object): def func(self): pass # 执行方式一 # obj = Foo() # obj.func() # 方法 ...

  10. 爬虫爱用的一些python技巧

    1.正则表达式 有时候提取到的数据不规整,需要用正则来匹配所需要展现出来的数据 学习链接:https://www.cnblogs.com/-chenxs/p/11352172.html,https:/ ...