EntityFramework延迟加载
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了EntityFramework延迟加载,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1704字,纯文字阅读大概需要3分钟。
内容图文
![EntityFramework延迟加载](/upload/InfoBanner/zyjiaocheng/560/77e4a587c0d543afa3c45a4124cb7678.jpg)
延迟加载:即当我们需要用到的时候才进行加载(读取) 当我们希望浏览某条订单信息的时候,才显示其对应的订单详细记录时,我们希望使用延迟加载来实现,这样不仅加快的了读取的效率,同时也避免加载不需要的数据。延迟加载通常用于foreach循环读取数据时。
延迟加载:即当我们需要用到的时候才进行加载(读取)
当我们希望浏览某条订单信息的时候,才显示其对应的订单详细记录时,我们希望使用延迟加载来实现,这样不仅加快的了读取的效率,同时也避免加载不需要的数据。延迟加载通常用于foreach循环读取数据时。
EF中支持延迟加载,是因为 进行查询,返回DbQuery类
为了展示延迟加载,所以 使用 sql server profiler 进行查看 数据的查询。
Sql server profiler 用于监视 sql的连接执行情况。建立一个新的跟踪。
当我们使用DbContext类对EF进行操作时候:
已经执行完查询了,但是 查询跟踪器里面为空:
只有在使用查询结果的时候,EF才会去执行sql语句。
<img src="https://img.gxlcms.com//Uploads-s/new/2019-09-30-201930/141924H01-4.png" alt="D╧y"http://www.2cto.com/database/" target="_blank" class="keylink">数据库。其实,就是要想对数据库进行操作 直接 对实体 就行操作就行了。
更符合面向对象的思想了。
直接加载的思想:
1、声明变量
2、要查询的条件
3、根据查询条件 去查询 然后 把结果存放在变量中
用的时候,直接把变量拿过来用
延迟加载的思想:
1、声明变量
2、输入要查询的条件
用的时候,把变量和条件 都拿过来,执行完后 在用
两种思想,分别处理不同的情况。就和 真假分页 是一个道理。
1、如果是在foreach循环中加载数据,那么使用延迟加载会比较好,因为不需要一次性将所有数据读取出来,这样虽然有可能会造成n次数据库的查询,但是基本上在可以接受的范围内。
2、如果在开发时就可以预见需要一次性加载所有的数据,包含关联表的所有数据,那么使用使用贪婪加载是比较好的选择,但是此种方式会导致效率问题,特别是数据量大的情况下。
内容总结
以上是互联网集市为您收集整理的EntityFramework延迟加载全部内容,希望文章能够帮你解决EntityFramework延迟加载所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。