关键词:
EF中有3种数据加载方式,具体如下:
延迟加载(默认): 设置导航属性为virtual
贪婪加载:不设置导航属性为virtual,并且对导航属性使用Include
显示加载:不设置导航属性为virtual,并且对导航属性使用Reference(单个对象).Load()或Collection(对象集).Load()
public class Programm { public static void Main() { TestDbContext db = new TestDbContext(); //延迟加载 var res1 = db.Reservations; foreach (var item in res1) { //do something } //贪婪加载 //有多个Include会全部完成加载,生成的sql命令是一条完成的 var res2 = db.Reservations.Include(r => r.Details); //显示加载 var res3 = db.Reservations.ToList(); foreach (var item in res3) { var temp = db.Entry(item); temp.Collection(i => i.Details).Load(); temp.Reference(i => i.Customer).Load(); } } } public class Reservation { public int ReservationId { get; set; } public string ClientName { get; set; } public string Location { get; set; } public List<ReservationDetails> Details { get; set; } public Customer Customer { get; set; } } public class ReservationDetails { public int Id { get; set; } public DateTime Time { get; set; } } public class Customer { public int Id { get; set; } public string Name { get; set; } } public class TestDbContext : DbContext { public DbSet<Reservation> Reservations { get; set; } }
ef中的三种删除方式
1.第一种现查询对象是否存在:varobj=firstorDefault()=>如果对象存在context.users.Remove(obj); 根据sql发现;执行两次;第一次SELLECTTOP1*FROMUSERS; 第二次delete xx where; 第二种:自己创建id相同的实体;然后附加;attach,... 查看详情
mybatis延迟加载的三种加载方式深入,你get了吗?
延迟加载 延迟加载对主对象都是直接加载,只有对关联对象是延迟加载。 延迟加载可以减轻数据库的压力, 延迟加载不可是一条SQL查询多表信息,这样构不成延迟加载,会形成直接加载。 延迟加载分为三种类型... 查看详情
js异步加载的三种方式
js加载的缺点:加载工具方法没必要阻塞文档,过得js加载会影响页面效率,一旦网速不好,那么整个网站将等待js加载而不进行后续渲染等工作。有些工具方法需要按需加载,用到再加载,不用不加载,。 默认正常模式... 查看详情
js异步加载的三种方式
一、同步加载 我们平时使用的最多的一种方式。<scriptsrc="http://yourdomain.com/script.js"></script><scriptsrc="http://yourdomain.com/script.js"></script> 同步模式,又称阻塞模式,会阻止浏览器的后续处理,停止后续的解析... 查看详情
hive分区表与数据产生关联的三种方式
所谓关联,可以理解为能够使用select查询到1.load这是最常用的一种方式loaddatalocalinpath"数据路径"intotabletable_namepartition(分区字段)使用load加载数据会自动创建分区的,这样你加载的数据就会和分区表进行关联,之后select就可以了 2.... 查看详情
tensorflow:读取数据的三种方式及tfrecord的使用
参考:https://blog.csdn.net/lujiandong1/article/details/53376802https://blog.csdn.net/happyhorizion/article/details/77894055读取数据的三种方式Preloadeddata:预加载数据importtensorflowastf#设计Graphx1=tf.constant([2,3 查看详情
图解script的三种加载方式异步加载顺序
摘录如下:可以很清晰的看出:<script>:脚本的获取和执行是同步的。此过程中页面被阻塞,停止解析。<scriptdefer="defer">:脚本的获取是异步的,执行是同步的。脚本加载不阻塞页面的解析,脚本在获取完后并不立即执行... 查看详情
类加载的三种方式比较(代码片段)
虚拟机加载类的途径1、由new关键字创建一个类的实例在由运行时刻用new方法载入如:Dogdog=newDog();2、调用Class.forName()方法通过反射加载类型,并创建对象实例如:Classclazz=Class.forName(“Dog”);Objectdog=clazz.newInstan... 查看详情
spring加载properties配置文件的三种方式
一、通过context:property-placeholder标签实现配置文件加载1)用法:1、在spring.xml配置文件中添加标签<context:property-placeholderignore-unresolvable="true"location="classpath:redis-key.properties"/>2、在spring.xml中使用配置文件属性:$< 查看详情
类加载器盲区整理
类加载器盲区整理ServiceLoader原理深入理解Java类加载器(ClassLoader)类加载的三种方式比较ServiceLoader原理ServiceLoader原理深入理解Java类加载器(ClassLoader)深入理解Java类加载器(ClassLoader)类加载的三种方式比较类加载的三种方式比较 查看详情
使用javascript判断图片是否加载完成的三种实现方式
有时需要获取图片的尺寸,这需要在图片加载完成以后才可以。有三种方式实现,下面一一介绍。一、load事件 <!DOCTYPEHTML><html><head><metacharset="utf-8"><title>img-loadevent</title></head><body><img 查看详情
第十三节:ef的三种模式之来自数据库的codefirst模式
一.简介 【来自数据库的CodeFirst模式】实质上并不是CodeFirst模式,而是DBFirst模式的轻量级版本,在该模式中取消了edmx模型和T4模板,直接生成了EF上下文和相应的类,该模式出现在VS2015版本以后。 该模式也是适用于数... 查看详情
ef学习笔记:读取关联数据
...edData本章主要讲述加载显示关联数据;数据加载分为以下三种 Lazyloading 这种加载方式在于需要用到这个导航属性数据的时候,才会去数据库取数据,如下图,循环中,每一次都去数据库取一次数据: Eagerloading ... 查看详情
ef7codefirst
加载方式三种1.EagerLoading2.LazyLoading3.ExplicitLoading使用EF在与关系型数据库的交互中不可避免地需要加载数据,如何加载数据变得至关重要。你可以设想在一个包含数十万条数据的表中,你如何通过EF来加载数据呢?一次性将所有数... 查看详情
springmvc返回json数据的三种方式
SpringMVC返回json数据的三种方式:http://blog.csdn.net/shan9liang/article/details/42181345 上述第三种方法:可能会出现这个jar包没有的情况,引入即可,下面pom引入即可java.lang.NoClassDefFoundError:com/fasterxml/jackson/core/JsonProcessingExce 查看详情
struts中的数据处理的三种方式
Struts中的数据处理的三种方式: publicclassDataActionextendsActionSupport{@OverridepublicStringexecute()throwsException{//1.请求数据封装;2.调用Service处理业务逻辑,拿到结果数据3.数据保存到域中/**//Struts中对数据操作,方式1:直接拿到Se... 查看详情
django-获取表单数据的三种方式
1、queryset对象2、字典3、queryset元组 备注:对象通过”对象.列名"方式访问,元组通过“对象.索引”方式访问。 查看详情
实现viewpager懒加载的三种方法
方法一在Fragment可见时请求数据。此方案仍预加载了前后的页面,但是没有请求数据,只有进入到当前Framgent时才请求数据。优点:实现了数据的懒加载缺点:一次仍是三个Framgment对象,不是完全意义的懒加载12345678910111213141516171... 查看详情