美文网首页.NETThreeZombies - .Net专题.NET
EntityFramework关闭自动懒加载

EntityFramework关闭自动懒加载

作者: 秋风若梦 | 来源:发表于2016-09-19 20:52 被阅读695次

懒加载(Lazy Loading)的概念在最后部分,前面就不占用篇幅了,进入正题。避免懒加载的主要原因是偏好手加载各个导航属性(Navigation Property)。

在EF4中懒加载是默认关闭的,在EF6中懒加载默认开启,用Student和Enrollment类举例,要关闭懒加载的方法有三种:

方法一:关闭特定的外键属性,将Enrollment类声明称public ICollection<Enrollment> Enrollment {get;set;}

方法二:关闭所有属性的懒加载,在DbContext中声明this.Configuration.LazyLoading = false; 如图

什么是懒加载(Lazy Loading)?

懒加载(Lazy Loading)跟贪婪加载(Eager Loading)是两种不同在ORM中加载数据的方式,通常用于one-to-one, one-to-many, many-to-many的情况下。拿Student和StudentDetail一对一关系的两个类举例,使用懒加载时,加载Student的不会同时会获取StudentDetail表中的数据,只有访问StudentDetail的属性的时候才会获取StudentDetail中的数据;使用贪婪加载的时候,在加载Student的时候就会加载所对应的StudentDetail,在有多对多关系的时候要尽量避免懒加载,因为会常常伴随不必要的数据加载,占用内存。

相关文章

  • EntityFramework关闭自动懒加载

    懒加载(Lazy Loading)的概念在最后部分,前面就不占用篇幅了,进入正题。避免懒加载的主要原因是偏好手加载...

  • Ebean只查询部分属性问题

    把懒加载关了,不然会自动加载其他字段~

  • 报错:could not initialize proxy --

    网上查了好多资料。大概是懒加载异常!为什么是这个异常?为了提升性能,JPA自动启动懒加载。在使用懒加载的时候会加载...

  • 自动加载,懒加载,预加载

    自动加载的主要方法 如何判断一个元素是否出现在窗口可视范围(浏览器的上边缘和下边缘之间,肉眼可视)。写一个函数 i...

  • 自动加载、懒加载和预加载

    自动加载 自动加载就是符合某些条件时才加载某些图片。 现在好多的网站都用到了自动加载图片技术,比如淘宝,刚打开淘宝...

  • Fragment 实现懒加载

    一、懒加载的目的 在ViewPager 嵌套Fragment中,ViewPager会自动实现预加载,在 Fragm...

  • 懒加载

    1.什么是懒加载 只加载当前窗口范围中的图片 在用户滚动页面的时候自动获取更多的数据 2.懒加载的特点 通过滚动获...

  • collection-hashmap

    collection-hashmap 特性: 自动扩容 初始化与懒加载 哈希计算 位运算与并发 自动扩容 扩容是通...

  • [Issue] EntityFramework 6.2.0.0

    Issue 将项目中的 EntityFramework 以及 EntityFramework.MappingAPI...

  • 7.25 元组,defer延时执行,Any,inout,自动封

    元组 defer 延时执行 Any 任意类型 @autuclosure 自动封包 lazy 懒加载 第一次...

网友评论

    本文标题:EntityFramework关闭自动懒加载

    本文链接:https://www.haomeiwen.com/subject/azenettx.html