ps如何做游戏模板下载网站最新项目加盟代理

bicheng/2026/1/26 1:54:25/文章来源:
ps如何做游戏模板下载网站,最新项目加盟代理,wordpress网站做h5分类,wordpress 文章标题移动这是 EF Core 系列的第四篇文章#xff0c;上一篇文章讲述了 EF Core 中的实体迁移与数据播种。这篇文章盘点一下 EF Core 的几种数据查询方式#xff0c;内容较多分上下两篇。点击上方或后方蓝字#xff0c;阅读 EF Core 系列合集。简单查询在 EF Core 中#xff0c;每个查… 这是 EF Core 系列的第四篇文章上一篇文章讲述了 EF Core 中的实体迁移与数据播种。这篇文章盘点一下 EF Core 的几种数据查询方式内容较多分上下两篇。点击上方或后方蓝字阅读 EF Core 系列合集。简单查询在 EF Core 中每个查询都由三个主要部分组成通过 ApplicationContext 的 DbSet 属性连接到数据库使用一系列的 LINQ 或 EF Core 命令执行查询这是一个最简单的示例public void Run() {var accounts  _context.Accounts.Where(s  s.Age  16).ToList(); }从这个查询中我们可以看到查询的三个主要部分「_context.Accounts」 是查询第一部分通过 DbSetAccount 属性访问数据库中的 Account 表。「Where(s s.Age 25)」 是查询的第二部分使用 LINQ 方法筛选需要的行。最后「ToList()」 方法用来来执行这个查询。需要注意的是当我们在 EF Core 中编写只读查询时可以添加 AsNoTracking 方法提高查询效率_context.Accounts.AsNoTracking()使用 AsNoTracking 方法时EF Core 不会跟踪加载实体的变化。关系型查询在 EF Core 查询导航属性表关联字段的方式有多种「贪婪加载」、「显式加载」和「懒惰加载」。贪婪加载贪婪加载也叫预先加载。所谓贪婪加载就是在查询结果中包含导航关系而这就需要明确的要求。比如这个示例中Account 拥有两个导航属性AccountDetails属性是一对一的导航关系AccountSubjects属性是一对多的导航关系。运行这个简单查询的结果如下可以发现控制台的结果中两个导航属性的值都是 Null。在 EF Core 中只有明确要求的情况下才会在结果中包含导航关系。这个简单查询中没有明确要求包含导航关系。如果使用贪婪加载可以让 EF Core 在查询结果中包含导航属性的值。贪婪加载通过使用 Include() 和 ThenInclude() 方法实现如下所示var accounts  _context.Accounts.Include(e  e.AccountSubjects).Where(s  s.Age  16).ToList();Include 方法用来加载第一层导航关系如果想进一步加载导航关系呢比如 AccountSubjects 属性中有两个一对一导航分别是 Accout 属性和 Subject 属性如果我们想通过 AccountSubjects 导航属性进一步查询出 Subject 属性就可以这么做 var accounts  _context.Accounts.Include(e  e.AccountSubjects).ThenInclude(s  s.Subject).Where(s  s.Age  16).ToList();ThenInclude 方法用来进一步加载导航关系。该方法可以无限递进非关系深度如果关系不存在查询也不会失败只是不会返回任何东西。「贪婪加载的优点是以一种高效的方式查询了关系型数据使用了最少的数据库访问次数」「它的缺点是一次性加载了所有的数据即使我们不需要其中的某些数据。」显式加载所谓显式加载就是 EF Core 显式地将关系加载到已经加载的实体中。比如这个示例var account  _context.Accounts.FirstOrDefault();_context.Entry(account).Collection(ss  ss.AccountSubjects).Load();foreach (var accountSubject in account.AccountSubjects) {_context.Entry(accountSubject).Reference(s  s.Subject).Load(); }我们首先加载的是 Acount 实体然后通过 AccountSubjects 导航属性关联所有相关的子项。在这种情况下Acount 实体被称为主实体。Collection 方法可以把一个集合纳入主实体Reference 方法可以把单一的实体纳入主实体。Account 实体通过使用 Collection 方法包含了 AccountSubjec 集合。AccountSubject 实体通过使用 Reference 方法包含了 Subject 实体。使用显式加载时除了 Load 加载方法还可以使用查询方法它允许将查询应用到关系中var count  _context.Entry(account).Collection(a  a.AccountSubjects).Query().Count();var subjects  _context.Entry(account).Collection(a  a.AccountSubjects).Query().Select(s  s.Subject).ToList();「显式加载的好处是只有当真正需要的时候我们才会在实体类上加载一个导航关系。」另一个好处是如果我们有复杂的业务逻辑那就可以分别加载导航关系。另外导航关系加载可以封装到一个方法、甚至是一个类中从而使代码更容易阅读和维护。不过这种方法的缺点是会产生更多的数据库查询次数来加载所有需要的关系会降低查询的效率。懒惰加载懒加载也叫延迟加载、按需加载它和贪婪加载相反顾名思义暂时不需要的数据就不加载而是推迟到使用它时再加载。延迟加载是一个比较重要的数据访问特性它可以有效地减少与数据源的交互。注意这里所指的交互不是指交互次数而是指交互的数据量。EF Core 中默认是不开启这个功能的因为在使用不当的情况下它会降低应用的性能。想要使用懒加载最简单的办法就是安装 Microsoft.EntityFrameworkCore.Proxies 库使用代理模式实现懒加载。在上下文类的配置方法中启用懒加载代理protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) {optionsBuilder.UseLazyLoadingProxies(); }配置完成后EF Core 会为任何可以被重载的导航属性启用懒惰加载。需要注意的是这是一种全局配置所有的导航属性都必须使用 virtual 修饰否则会发生异常错误。不过这样一来的话所有的导航属性都默认启用了懒加载。除了使用代理模式还可以使用 EF Core 中的懒加载服务这种方式不需要用 virtual 修饰导航属性而且可以只针对特定实体进行懒加载。具体来看示例public class Account {private readonly ILazyLoader _lazyLoader;public Account(ILazyLoader lazyLoader){_lazyLoader  lazyLoader;}private ICollectionAccountSubject _accountSubjects;public ICollectionAccountSubject AccountSubjects{get  _lazyLoader?.Load(this, ref _accountSubjects);set  _accountSubjects  value;}}使用构造函数注入的方式将 ILazyLoader 服务注入到实体类中然后修改需要开启懒加载的字段。需要注意的是滥用懒加载会造成性能上的问题。虽然懒加载只在需要读取关联数据的时候才进行加载但是如果在遍历中使用的话每次读取一条数据那么就会查询一次数据库增加了访问数据库的次数会导致数据库的压力增大。贪婪加载也一样会有性能上的问题因为一次性读取所有相关的数据有可能会导致部分数据在实际上用不到从而使查询数据的效率降低。所以我们应该清楚什么时候应该使用哪种加载方式如果在开发时不确定是否会需要相关联的数据那么可以选择懒加载待确定需要后再加载它。如果在开发时就可以预见需要一次性加载所有的数据而且需要包含导航关系的所有数据 那么使用贪婪加载是比较好的选择。更多精彩内容请关注我▼▼如果喜欢我的文章那么在看和转发是对我最大的支持戳下面蓝字阅读ASP.NET 6 中间件系列ASP.NET 最通俗易懂的依赖注入系列查缺补漏系统学习 EF Core 6  系列老子不亏是程序员的祖师爷不得不知的超精简 HTTP 协议推荐关注微信公众号码侠江湖                        觉得不错点个在看再走哟

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/86681.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

怎么做网站申请广告wordpress Honey 主题

装饰器模式的定义 装饰器模式(Decorator Pattern)是一种结构型设计模式,它允许用户在不修改现有对象结构的情况下,动态地给一个对象添加额外的职责。这种模式创建了一个装饰类,用来包装原有的类。 这种模式创建了一个装饰类,用于包装原有的类,并在保持类方法签名完整性…

营销型网站建设的要素烟台企业网站建站模板

控制器: Deployment: Deployment概述: replicaset:自动创建pod的控制器 Delpoyment控制器: pod的名字需要唯一,在这不写名字,利用标签进行创建 replicas:表示你想要克隆的数量,selector:通过标签.识别哪个pod是我创建出来的.这里的标签和后面元数据里的标签要一致. Cluster…

做网站在哪买域名网页设计与制作教材电子版

在新版本的macos中已经将默认的python升级成了3.x , 今天介绍一个简单的方法在新版本的macos中快速安装 python 2.7的方法, 就是使用brew安装python版本管理工具 pyenv来安装python2.7 # 安装pyenv版本管理工具 brew install pyenv # 安装python2.7 可以安装多个版本的ptyhon…

做网站用的图片怎样压缩企业培训员工培训平台

一、SX1278 数字接口状态映射 从官方文档可知sx1278的数字接口状态映射明细,移植的代码中主要用查询的方式来判断在连续模式下是否接收和发送完成,因此只需要用到DIO0。如果要用到CAD,则需要DIO1管脚。 发送时:DioMapping1寄存器…

做网站的颜色搭配深圳网站制作 优选灵点网络

哈希和unordered系列封装 一、哈希1. 概念2. 哈希函数,哈希碰撞哈希函数(常用的两个)哈希冲突(碰撞)小结 3. 解决哈希碰撞闭散列线性探测二次探测代码实现载荷因子(扩容) 开散列哈希桶代码实现扩…

微信小程序开发教程pdf下载常州抖音seo

引言 我整理了一份 10w 字数的前端技术文档(飞书),地址:https://qx8wba2yxsl.feishu.cn/docx/Vb5Zdq7CGoPAsZxMLztc53E1n0k?fromfrom_copylink,欢迎对前端感兴趣的同学查看、共建、分享。 PS:我是一名大四…

深圳网站建设费用是多少谷歌镜像网站怎么做

C#开发的OpenRA游戏之属性RenderSprites(8) 本文开始学习RenderSprites属性,这个属性是跟渲染有关的,因此它就摄及颜色相关的内容,所以我们先来学习一下调色板,这是旧游戏的图片文件保存的格式,如果放在现代来看,不会再采用这种方法,毕竟现在存储空间变大,便宜了,并…

南昌百度搜索排名优化网站内页可以做关键词优化吗

下面是一篇关于如何使用正则表达式验证域名的教程。 如何使用正则表达式验证域名 简介 域名是互联网上网站的地址,每个域名由多个标签(label)组成,标签之间用点 . 分隔。域名规则有很多细节,但基本要求是&#xff1a…

做网站用phpcms还是孝感网页设计

一些基本概要 1 市面流行的音视频产品,都包含一对一、一对多、多对多通话,云端录制等这些基本功能,有些厂商支持本地服务录制。 2 本地服务录制,云端录制区别 两个录制区别在于,本地服务端录制的 SDK 要求部署在 …

免费浪漫网页制作网站自贡市网站建设

在为杂志装订机开发新产品的过程中,作为印刷后处理机械领域的全球领导者,Mller Martini AG公司发现了传感器故障的问题。通过使用虹科MSR 微型加速度数据记录仪,成功地确定了故障的原因。 新杂志装订机中的三刀修整装置的故障部件是边缘传感器…

网站建设 柳州好看的企业网站

题库来源:安全生产模拟考试一点通公众号小程序 2023年道路运输企业安全生产管理人员证考试为正在备考道路运输企业安全生产管理人员操作证的学员准备的理论考试专题,每个月更新的道路运输企业安全生产管理人员模拟考试题祝您顺利通过道路运输企业安全生…

ppt做书模板下载网站有哪些内容短视频宣传片制作

Nacos是一个开源的、易于使用的平台,用于构建云原生应用和微服务架构。它提供了一系列关键功能,帮助开发者更高效地管理和协调微服务。 一、Nacos的功能 1. 服务发现:在微服务架构中,服务的网络位置是动态变化的。Nacos通过服务注…

旅游网站设计及开发网站的关键词和描述

在软件开发过程中,接口测试是非常重要的一环。它可以帮助我们确保系统的各个模块之间的交互是否正常,从而提高软件的质量和稳定性。本文将介绍如何使用Python编写一个自动化接口测试框架,包括框架对比、接口测试框架介绍、接口测试框架流程和…

青岛做视频的网站网站欢迎框代码

一、Cornerstone3D 是什么? Cornerstone3D官网:https://www.cornerstonejs.org/ 在线查看显示效果(加载需时间,可先点击运行),欢迎fork 二、代码示例 了解了Cornerstone是什么,有什么作用后&…

怎样手机网站建设二手交易网站建设方案ppt

目录 requests是什么安装requests使用requestsGET方法POST方法 requests的相关函数 既然Python是一门全球流行的语言,那么对于网络通信的HTTP的支持肯定也是非常的优秀的。Python中原生的urllib模块也有对HTTP的支持,虽然也可以用来发送 HTTP 请求&#…

做网站周记自媒体平台注册账号

文章目录 0 赛题思路1 问题要求2 假设约定3 符号约定4 建立模型5 模型求解6 实现代码 建模资料 0 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 1 问题要求 现在已知一个教室长为15米,宽为12米&…

网站建设客户需求太原网站设计开发公司

题目 下载题目所给的压缩包后解压得到文本提示 由题目名可知为凯撒密码 根据提示格式为flag{},所以猜测前四个字符原文为flag 先来推测一下偏移量 a->f 偏移量为-5,按道理来说每个字符的偏移量都是一样的,但是对照过后发现后面的字符对…

江苏住房与城乡建设部网站深圳网站做的好的公司哪家好

打包方法: 在cmd下进行 pyinstaller -F 路径/程序文件名 注意:使用pyinstaller之前需要安装 pip install pyinstaller

做网站常规语言小型企业网络组建方案

补充回答一些关于枚举类型的问题 1.枚举类型在什么时候使用 枚举类型在以下情况下特别有用: 有限的离散值集合: 当变量的取值只有有限且离散的几个选项时,使用枚举类型能够提高代码的可读性。例如,星期几、月份、颜色等。 enum W…

网站微信建设运维培训班大连建设主管部门网站

当使用JSON.parse解析json时报错Bad control character in string literal in JSON,JSON.parse()方法将有效的 JSON 字符串数据转换为 JavaScript 对象,内部不能包含转义字符。 解决办法: 方法一.前端解析前处理掉\r,\n,\t 等转义字符 let text = {"fail_station&q…