本网页所有文字内容由 imapbox邮箱云存储,邮箱网盘, iurlBox网页地址收藏管理器 下载并得到。
ImapBox 邮箱网盘 工具地址: https://www.imapbox.com/download/ImapBox.5.5.1_Build20141205_CHS_Bit32.exe
PC6下载站地址:PC6下载站分流下载
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox 网页视频 工具地址: https://www.imapbox.com/download/ImovieBox4.7.0_Build20141115_CHS.exe
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
延迟加载:即当我们需要用到的时候才进行加载(读取) 当我们希望浏览某条订单信息的时候,才显示其对应的订单详细记录时,我们希望使用延迟加载来实现,这样不仅加快的了读取的效率,同时也避免加载不需要的数据。延迟加载通常用于foreach循环读取数据时。 EF中支持延迟加载,是因为 进行查询,返回DbQuery类 为了展示延迟加载,所以 使用 sql server profiler 进行查看 数据的查询。 Sql server profiler 用于监视 sql的连接执行情况。建立一个新的跟踪。 当我们使用DbContext类对EF进行操作时候: 已经执行完查询了,但是 查询跟踪器里面为空: 只有在使用查询结果的时候,EF才会去执行sql语句。 EF对是对实体进行操作,映射到数据库。其实,就是要想对数据库进行操作 直接 对实体 就行操作就行了。 更符合面向对象的思想了。 直接加载的思想: 1、声明变量 2、要查询的条件 3、根据查询条件 去查询 然后 把结果存放在变量中 用的时候,直接把变量拿过来用 延迟加载的思想: 1、声明变量 2、输入要查询的条件 用的时候,把变量和条件 都拿过来,执行完后 在用 两种思想,分别处理不同的情况。就和 真假分页 是一个道理。 1、如果是在foreach循环中加载数据,那么使用延迟加载会比较好,因为不需要一次性将所有数据读取出来,这样虽然有可能会造成n次数据库的查询,但是基本上在可以接受的范围内。 2、如果在开发时就可以预见需要一次性加载所有的数据,包含关联表的所有数据,那么使用使用贪婪加载是比较好的选择,但是此种方式会导致效率问题,特别是数据量大的情况下。
阅读和此文章类似的: 程序员专区