关于EF延时加载的面试题
public async Task<ActionResult> GetData()
{
var data = (from leftdata in GetLeft()
join rightdata in GetRight() on leftdata.Id equals rightdata.Id into tempdata
from matchdata in tempdata.DefaultIfEmpty()
select matchdata).ToList();
return Ok(data);
} private IEnumerable<YourModel> GetLeft()
{
return YourDbContext.YourModels.Where(c=>c.Id==1);
}
private IEnumerable<YourModel> GetRight()
{
return from data in YourDbContext.YourModels
select data;
}
上面代码调用GetData()查询了几次数据库?
如果换成IQueryable又如何
public async Task<ActionResult> GetData()
{
var data = (from leftdata in GetLeft()
join rightdata in GetRight() on leftdata.Id equals rightdata.Id into tempdata
from matchdata in tempdata.DefaultIfEmpty()
select matchdata).ToList();
return Ok(data);
} private IQueryable<YourModel> GetLeft()
{
return YourDbContext.YourModels.Where(c=>c.Id==1);
}
private IQueryable<YourModel> GetRight()
{
return from data in YourDbContext.YourModels
select data;
}
使用IQueryable查询了一次数据库,IEnumerable查询了两次

关于EF延时加载的面试题的更多相关文章
- 服务器文档下载zip格式 SQL Server SQL分页查询 C#过滤html标签 EF 延时加载与死锁 在JS方法中返回多个值的三种方法(转载) IEnumerable,ICollection,IList接口问题 不吹不擂,你想要的Python面试都在这里了【315+道题】 基于mvc三层架构和ajax技术实现最简单的文件上传 事件管理
服务器文档下载zip格式 刚好这次项目中遇到了这个东西,就来弄一下,挺简单的,但是前台调用的时候弄错了,浪费了大半天的时间,本人也是菜鸟一枚.开始吧.(MVC的) @using Rattan.Co ...
- EF 延时加载与死锁
第一种 #region 第一种延迟加载 用到的时候就会去查询数据. //用到的时候就会去查询数据. //IQueryable<UserInfo> temp = from u in dbCo ...
- JAVA的单例模式与延时加载
延迟加载(lazy load)是(也称为懒加载),也叫延迟实例化,延迟初始化等,主要表达的思想就是:把对象的创建延迟到使用的时候创建,而不是对象实例化的时候创建.延迟加载机制是为了避免一些无谓的性能开 ...
- MyBatis入门(五)---延时加载、缓存
一.创建数据库 1.1.建立数据库 /* SQLyog Enterprise v12.09 (64 bit) MySQL - 5.7.9-log : Database - mybatis ****** ...
- 一段实现页面上的图片延时加载的js
大家如果使用firebug去查看的话就会发现,当你滚动到相应的行时,当前行的图片才即时加载的,这样子的话页面在打开只加可视区域的图片,而其它隐藏的图片则不加载,一定程序上加快了页面加载的速度,对于比较 ...
- WinForm的延时加载控件概述
这篇文章主要介绍了WinForm的延时加载控件,很实用的技巧,在C#程序设计中有着比较广泛的应用,需要的朋友可以参考下 本文主要针对WinForm的延迟加载在常用控件的实现做简单的描述.在进行C# ...
- picLazyLoad 图片延时加载,包含背景图片
/** * picLazyLoad 图片延时加载,包含背景图片 * $(img).picLazyLoad({...}) * data-original 预加载图片地址 * alon */ ;(func ...
- iOS 延时加载
这里列举了四种线程延时加载的方法, 1.performSelector方法 此方法必须在主线程中执行,并不是阻塞当前的线程 [self performSelector:@selector(delayM ...
- js实现网页图片延时加载的原理和代码 提高网站打开速度
有时我们看到一些大型网站,页面如果有很多图片的时候,当你滚动到相应的行时,当前行的图片才即时加载的,这样子的话页面在打开只加可视区域的图片,而其它隐藏的图片则不加载,一定程序上加快了页面加载的速度,对 ...
- [整理]DLL延时加载 && 设置进程私有环境变量
DLL延时加载鉴于静态和动态加载之间,即无需在代码中显示加载但它内队依然是动态加载的方式只是系统帮处理了.这样做好处是: 1. 可以加快启动时间(因为它是动态加载在需要的时间加载), 2. 减小编写L ...
随机推荐
- WPF 做一个超级简单的 1024 数字接龙游戏
这是一个我给自己做着玩的游戏,没有什么复杂的界面,就一些简单的逻辑 游戏的规则十分简单,那就是有多个列表.程序会给出一个数字,玩家决定数字放在哪个列表里面.如果放入列表里面的数字和列表里面最后一个数字 ...
- Linux OpenGrok搭建
目录 一.目的 二.环境 三.相关概念 3.1 OpenGrok 3.2 CTags 3.3 Tomcat 四.OpenGrok搭建 4.1 安装jdk 4.2 安装ctags依赖 4.3 安装uni ...
- 使用getevent在Android中调试输入子系统
# Android getevent用法详解 背景 在调试安卓设备按键,想使用hexdump,但是发现没有找到,反而找到了这个更好用的工具. 以下是我的调试片段 # getevent -l /dev/ ...
- BTC交易流程
交易流程 比特币的交易流程涉及多个步骤和参与方,包括发送方.接收方.矿工和比特币网络中的节点.以下是比特币交易的详细流程: 创建交易: 生成比特币地址:比特币地址是一个由公钥生成的字符串,用于接收比特 ...
- Mac下Eclipse打不开了怎么办
其实这个问题能搜到很多答案,但是对我有效的只有下面这一种. 背景 我需要使用到Eclipse,就下载了它的特定版本,用于开发RAP的. 连续两次都是使用后关闭,就再也打不开了. 选定的解决方案 试了好 ...
- yb课堂之单机和分布式应用的登陆校验解决方案 《七》
单机tomcat应用登陆校验 session保存在浏览器和应用服务器会话之间 用户登陆成功,服务端会保存一个session,当然客户端有一个sessionId 客户端会把sessionId保存在coo ...
- webpack4.15.1 学习笔记(七) — 懒加载(Lazy Loading)
懒加载或者按需加载,是一种很好的优化网页或应用的方式.实际上是先把代码在一些逻辑断点处分离开,然后在一些代码块中完成某些操作后,立即引用或引用另外一些新的代码块.这样加快了应用的初始加载速度,减轻了它 ...
- log4js 的安装设置和实例
1. 安装 yarn add log4js -D 2.设置 const log4js = require('log4js') 3.实例 var log = log4js.getLogger(); // ...
- [PHP]用socket写一个简单的WEB服务器
今天我就要把我的最新研究成果展示看看,而不玩ARMBIAN了,因为刷了两台S905L3的发现一点挑战都没有 从0.2写WEB服务难啊,你需要懂HTTP协议和SOCKET!不过有经验我们很快就可以搭建一 ...
- 使用 useLazyAsyncData 提升数据加载体验
title: 使用 useLazyAsyncData 提升数据加载体验 date: 2024/7/19 updated: 2024/7/19 author: cmdragon excerpt: 摘要: ...