【Entity Framework Core 包含查询深度解析】:掌握Include与ThenInclude的高效数据加载策略

第一章:Entity Framework Core 包含查询概述

在使用 Entity Framework Core 进行数据访问时,包含查询(Include Query)是实现关联数据加载的核心机制。通过包含查询,开发者可以显式指定需要从数据库中一并加载的导航属性,避免因延迟加载带来的性能问题或 N+1 查询陷阱。

包含查询的基本用法

使用 Include 方法可加载与主实体相关联的数据。例如,查询所有博客及其关联的文章:
// 加载 Blog 及其 Posts 导航属性
var blogs = context.Blogs
    .Include(blog => blog.Posts)
    .ToList();
上述代码会生成一条 SQL 查询,连接 Blogs 和 Posts 表,确保所有相关数据一次性加载。

多级关联数据加载

当需要加载深层级的关联数据时,可结合 ThenInclude 方法:
// 加载 Blog、其 Posts 以及每篇 Post 的评论
var blogs = context.Blogs
    .Include(blog => blog.Posts)
        .ThenInclude(post => post.Comments)
    .ToList();
该链式调用确保三层结构的数据被完整提取,适用于复杂对象图的场景。

包含多个独立导航属性

若实体包含多个独立的导航属性,可连续调用 Include:
  • Include(blog => blog.Posts) —— 加载文章列表
  • Include(blog => blog.Owner) —— 加载博客拥有者信息
方法用途
Include()加载直接关联的导航属性
ThenInclude()在已包含的基础上继续深入关联层级
graph TD A[DbContext] -- Include --> B[Blogs] B -- ThenInclude --> C[Posts] C -- ThenInclude --> D[Comments]

第二章:Include 方法的核心机制与应用场景

2.1 Include 基本语法与对象图加载原理

`Include` 是 ORM 框架中实现关联对象加载的核心机制,用于在查询主实体时一并加载其关联的子对象,避免 N+1 查询问题。
基本语法结构
db.Preload("Orders").Find(&users)
该语句表示在查询用户数据时,预加载每个用户关联的订单列表。`Preload` 方法接收关联字段名作为参数,框架会自动生成 JOIN 查询或额外的 SELECT 语句来获取关联数据。
对象图加载过程
  • 解析关联标签(如 has many、belongs to)构建关系映射
  • 执行主查询获取根对象集合
  • 根据主键批量查询关联对象,填充至对应父级结构中
此机制通过延迟 SQL 生成与结果集合并策略,实现高效的对象图还原。

2.2 单级关联数据加载的实践与性能分析

在处理数据库查询时,单级关联数据加载常用于一对多或一对一关系的数据获取。合理使用关联查询能显著减少请求次数,提升响应效率。
典型实现方式
以 GORM 框架为例,通过 Preload 显式加载关联数据:

db.Preload("Profile").Find(&users)
该语句会先查询所有用户,再根据外键批量加载对应的 Profile 记录,避免 N+1 查询问题。
性能对比分析
加载方式查询次数响应时间(平均)
懒加载N+1850ms
Preload2120ms
使用预加载将查询次数从线性降低为常量级,大幅减少数据库往返开销。

2.3 使用 Include 加载导航属性的最佳时机

在实体框架中,Include 方法用于显式加载关联的导航属性,避免延迟加载带来的性能损耗。合理使用 Include 能显著提升数据访问效率。
何时使用 Include
  • 当查询结果需要频繁访问关联数据时,应提前加载
  • 在序列化或视图渲染前确保数据完整加载
  • 避免在循环中触发多次数据库请求
var blogs = context.Blogs
    .Include(b => b.Posts)
    .ThenInclude(p => p.Comments)
    .ToList();
上述代码通过 Include 和 ThenInclude 实现多层导航属性加载。参数为表达式,指向目标导航属性,EF Core 将生成包含 JOIN 的 SQL 查询,一次性获取所有相关数据,减少数据库往返次数。
性能对比
策略查询次数适用场景
无 IncludeN+1极少使用关联数据
Include 预加载1需完整关联结构

2.4 避免常见陷阱:循环引用与过度获取问题

在 ORM 操作中,循环引用和过度获取是影响性能的两大常见问题。合理设计数据模型和查询策略至关重要。
循环引用示例
type User struct {
    ID    uint
    Name  string
    Posts []Post `gorm:"foreignkey:UserID"`
}

type Post struct {
    ID     uint
    Title  string
    UserID uint
    User   User `gorm:"foreignkey:UserID"` // 可能引发循环引用
}
当两个结构体互相持有对方的实例指针时,序列化过程可能陷入无限递归。应使用指针或忽略非必要字段:json:"-"。
避免过度获取
  • 仅选择所需字段:SELECT name, email FROM users
  • 使用分页限制结果集大小
  • 延迟加载关联数据,按需加载
通过预加载控制机制,可精准获取关联数据,避免数据库资源浪费。

2.5 实战案例:优化博客系统文章与作者查询

在高并发的博客系统中,文章与作者信息的联合查询常成为性能瓶颈。为提升响应效率,采用缓存预加载与数据库索引优化相结合的策略。
数据库索引优化
针对高频查询字段创建复合索引,显著降低查询耗时:
CREATE INDEX idx_articles_author_created ON articles (author_id, created_at DESC);
该索引加速了按作者ID和发布时间倒序排列的查询,使分页查询效率提升约60%。
缓存策略设计
使用Redis缓存热门作者信息,避免重复查询数据库:
  • 缓存键设计为 author:{id},确保唯一性
  • 设置TTL为30分钟,平衡数据一致性与性能
  • 在作者信息更新时主动清除缓存

第三章:ThenInclude 的链式加载策略

3.1 ThenInclude 在多层级关系中的应用逻辑

在 Entity Framework Core 中,ThenInclude 方法用于在已使用 Include 的基础上继续加载多级导航属性,适用于复杂对象图的构建。
链式加载多层关联数据
例如,需从博客加载其文章及每篇文章的评论:
var blogs = context.Blogs
    .Include(blog => blog.Posts)
    .ThenInclude(post => post.Comments)
    .ToList();
该查询首先包含博客的文章集合,再通过 ThenInclude 指定对每篇文章加载其关联评论。若缺少 ThenInclude,则评论数据不会被加载。
嵌套引用的路径控制
  • Include 必须为首层导航属性
  • ThenInclude 跟随其后,逐级深入
  • 支持引用类型与集合类型的混合路径
正确使用可显著减少数据库往返次数,提升数据获取效率。

3.2 多层导航属性的连续包含查询实现

在复杂数据模型中,多层导航属性的查询常用于获取关联实体的深层信息。Entity Framework 等 ORM 框架支持通过 Include 方法实现级联加载。
链式 Include 查询
使用连续的 ThenInclude 可逐层深入导航属性:

var result = context.Departments
    .Include(d => d.Employees)
        .ThenInclude(e => e.Address)
    .Include(d => d.Manager)
        .ThenInclude(m => m.ContactInfo)
    .ToList();
上述代码首先加载部门及其员工,再加载员工地址;同时加载部门经理及其联系方式,形成两条独立的包含路径。
查询结构分析
  • Include:指定第一层关联(如 Employees)
  • ThenInclude:在已包含的导航属性基础上继续展开下一层
  • 支持嵌套多层级,适用于深度对象图场景

3.3 复杂对象图构建中的性能权衡与设计考量

在构建复杂对象图时,对象间依赖关系的深度与广度直接影响初始化性能和内存占用。过度使用懒加载可能导致运行时延迟突增,而全量预加载则加剧启动开销。
延迟加载与预加载策略对比
  • 预加载:启动时构建完整对象图,提升后续访问速度,但增加初始化时间
  • 懒加载:按需实例化,降低启动负载,但可能引发多次小开销的创建操作
代码示例:懒加载实现模式
type Service struct {
    dependency *Dependency
}

func (s *Service) GetDependency() *Dependency {
    if s.dependency == nil {
        s.dependency = NewDependency() // 延迟实例化
    }
    return s.dependency
}
上述模式通过首次访问时初始化依赖,节省了未使用场景下的资源消耗。但高并发下可能重复创建,需结合双检锁优化。
性能权衡矩阵
策略启动性能运行时性能内存占用
预加载低高高
懒加载高中低

第四章:高效数据加载的综合优化技术

4.1 Combine Include 与过滤条件的混合查询模式

在复杂的数据访问场景中,Combine 框架结合 Core Data 或 Entity Framework 等持久化技术时,常需实现关联数据加载(Include)与条件过滤的协同查询。
查询结构设计
通过链式调用先指定包含关联实体,再应用谓词过滤主实体,确保结果集既完整又精确。例如:
let request = Publisher.fetchRequest()
request.predicate = NSPredicate(format: "isActive == YES")
let task = context.fetch(request)
    .receive(on: RunLoop.main)
    .compactMap { $0.books }
    .eraseToAnyPublisher()
上述代码首先筛选激活状态的发布者,再提取其关联书籍列表。其中 compactMap 处理可选关系,避免空值干扰。
性能优化策略
  • 避免过度加载:仅 Include 实际需要的关联实体
  • 索引支持:为常用过滤字段建立数据库索引
  • 分页处理:结合 fetchLimit 与 offset 控制数据量

4.2 利用 Split Queries 提升大数据集加载效率

在处理大规模数据集时,单次查询往往导致内存占用高、响应延迟严重。Split Queries 技术通过将大查询拆分为多个并行的小查询,有效降低数据库负载。
拆分策略与执行流程
常见策略包括按主键范围、时间区间或哈希分片进行分割。每个子查询独立执行,结果在应用层合并。
-- 按主键范围拆分示例
SELECT * FROM logs WHERE id BETWEEN 1 AND 1000;
SELECT * FROM logs WHERE id BETWEEN 1001 AND 2000;
上述语句将原查询切分为两个独立请求,减少锁竞争和内存峰值。参数 BETWEEN 定义了分片边界,需根据数据分布合理规划。
性能对比
查询方式执行时间(s)内存使用(MB)
单一查询12.4890
Split Queries5.6320

4.3 投影查询(Select)与 Include 的协同使用

在实体框架中,合理组合投影查询(Select)与导航属性加载(Include)可显著提升数据获取效率。
选择性字段加载
通过 Select 方法仅提取所需字段,减少网络传输开销:
context.Users
    .Include(u => u.Orders)
    .Select(u => new {
        u.Name,
        OrderCount = u.Orders.Count()
    })
    .ToList();
上述代码先通过 Include 加载用户订单集合,再在内存视图中投影出用户名和订单数量。Select 操作在 Include 后执行,确保关联数据可用。
性能优化策略
  • 优先使用 Include 预加载相关实体
  • 结合 Select 实现最小化数据投影
  • 避免 N+1 查询问题
该模式适用于需要关联数据计算但无需完整对象的场景。

4.4 监控与诊断包含查询的执行计划与SQL输出

在数据库性能调优过程中,理解查询的执行计划是关键步骤。通过执行计划,可以洞察数据库优化器如何处理SQL语句,包括访问路径、连接方式和资源消耗。
获取执行计划
使用 EXPLAIN 或 EXPLAIN ANALYZE 命令可查看SQL的执行计划。例如:
EXPLAIN ANALYZE 
SELECT u.name, o.total 
FROM users u 
JOIN orders o ON u.id = o.user_id 
WHERE u.created_at > '2023-01-01';
该命令输出包含节点类型、行数预估、实际执行时间等信息。其中: - Seq Scan 表示全表扫描,可能提示缺少索引; - Index Scan 表明使用了索引,效率更高; - Cost 字段反映优化器对资源消耗的估算。
执行计划关键指标对比
指标含义优化建议
Startup Cost开始输出前的开销降低子查询嵌套层级
Total Cost总预计开销考虑添加索引或重写查询
Actual Time实际执行耗时(毫秒)识别慢查询瓶颈

第五章:总结与最佳实践建议

性能监控与调优策略
在高并发系统中,持续的性能监控是保障服务稳定的核心。推荐使用 Prometheus + Grafana 构建可观测性体系,定期采集关键指标如响应延迟、GC 时间和 goroutine 数量。
指标建议阈值处理方式
P99 延迟< 200ms优化数据库索引或引入缓存
堆内存使用< 70% of limit分析内存 profile 并修复泄漏
代码健壮性提升技巧
Go 语言中应强制实施错误处理规范,避免忽略返回的 error 值。以下为推荐的错误包装模式:

if err != nil {
    return fmt.Errorf("failed to process request: %w", err)
}
结合 errors.Is 和 errors.As 可实现精准的错误判断,便于在中间件中进行分类处理。
微服务部署建议
  • 使用 Kubernetes 的 HPA 根据 CPU 和自定义指标自动扩缩容
  • 配置就绪与存活探针,避免流量打入未初始化完成的实例
  • 通过 Istio 实现细粒度的流量切分与熔断策略
某电商平台在大促前采用上述部署方案,成功将服务恢复时间从分钟级降至秒级。
安全加固要点

客户端 → API 网关(JWT 验证) → 服务网格(mTLS 加密) → 后端服务

确保所有跨服务调用启用双向 TLS,并在网关层统一校验 JWT 权限声明。
Entity Framework十年踩坑实录:变更跟踪、查询翻译与DbContext生命周期深度解析 Entity Framework(EF)作为.NET生态主流ORM框架,其核心价值在于对象关系映射(ORM)抽象,但抽象背后隐藏着变更跟踪、查询翻译和上下文生命周期三大技术本质。理解变更跟踪机制是优化SaveChanges性能的关键,而LINQ到SQL的查询翻译则决定了数据访问效率上限;DbContext的Scoped生命周期设计并非限制,而是对并发安全与资源管理的工程约束。这些原理共同构成EF在高并发、大数据量、微服务等现代架构中稳定落地的技术基础。本文聚焦真实生产环境中的典型问题——如AsNoTrack 阅读详情

相关推荐

Entity Framework核心架构与开发模式全解析:从入门到实战优化

对象关系映射(ORM)是连接面向对象编程与关系型数据库的关键技术,它通过将数据库表映射为程序中的对象,简化了数据持久化操作。其核心原理在于抽象数据库交互细节,让开发者能以熟悉的编程范式操作数据。这一技术显著提升了开发效率,降低了直接编写SQL的复杂性与出错风险,是现代企业级应用开发的基石。在实际应用中,ORM技术尤其适用于需要快速迭代的业务系统、复杂领域模型的数据访问层构建。Entity Framework作为.NET平台官方推出的ORM框架,通过DbContext与DbSet等核心组件,结合Code Fi

weixin_30654583的博客 408

Entity FrameWork Core使用 Include查询关联数据以及机理。

Entity Framework Core 允许你在模型中使用导航属性来加载相关实体。有三种常见的 O/RM 模式可用于加载关联数据。 预先加载表示从数据库中加载关联数据,作为初始查询的一部分。 显式加载表示稍后从数据库中显式加载关联数据。 延迟加载表示在访问导航属性时,从数据库中以透明方式加载关联数据 这里仅结束第一种,使用Include的方式。 什么是关联的数据? 如下图,两个导航属性Assets以及Department,分别对应两个外键AssetsId以及DepartmentId,关联到另.

覃鸿宇的博客 8514

Entity Framework性能与并发问题实战避坑指南

Entity Framework作为.NET生态主流ORM,其核心价值在于简化数据访问,但对象关系映射(ORM)本质决定了它在抽象层与数据库之间存在天然张力。理解Change Tracker变更追踪、Query Pipeline查询翻译、Command Executor命令执行三大机制,是诊断EF性能瓶颈与并发异常的前提。常见问题如N+1查询、SaveChanges假死、乐观并发失败、JSON序列化崩溃,根源往往不在框架缺陷,而在开发者对EF行为边界的误判。尤其在EF Core 5/6/7版本演进中,Exp

clugcpne10995的博客 412

轻松学EntityFramework Core--数据操作

这篇文章介绍了在Entity Framework Core中进行数据操作的基本方法。通过具体代码示例,展示了如何创建(增加)、读取(查询)、更新和删除数据。文章详细讲解了如何使用DbContext和LINQ查询数据,并探讨了增删改查操作中的关键概念和注意事项。

喵叔 1306

EF的Include 在.NET Framework 和.net core 中进行多个表查询的时候不同的写法

当存两个以上的表存在一对多的qing情况下,如何根据第一个主表去查询下面子表的多条数据? 具体问题如下 A,B,C 三个表 其中 A表为主表,而B表则是A表的子表,两表的关系属于一对多,这个时候我们需要从A表取出一条数据出来,并且连带着B表的多条数据一起取出来,其实Linq 里面就帮我们写好了一个方法,专门就是专门就是为了解决所遇到的这类问题,具体解决方案如下: .net framewor...

Sky的笔记本 1万+

数据挖掘实战:决策树 + 聚类 + 关联规则,零 Key 离线可跑(Python 源码)

数据挖掘实战包。用 Python 标准库实现 CART 风格决策树、K-Means 聚类与 Apriori 关联规则,在虚构「星河便利店」会员表和购物篮上跑通分类、分群与购物篮分析,并给出准确率、轮廓系数、支持度/置信度/提升度。零第三方依赖、零 API Key 即可离线跑通。含 4 个样例、离线冒烟、中文 README(含「使用方法」)。均为作者原创可运行源码。MIT。作者 blog.youkuaiyun.com/mtl1994

Entity Framework Core必须牢记的三条引用三条命令

关于EntityFramework Core有三个重要的引用和三条重要的命令,掌握以这六条,基本用Entity Framework Core就得心应手了。 引用1:Install-PackageMicrosoft.EntityFrameworkCore.SqlServer 这是SqlServer的Entity FrameworkCore的“驱动程序”。不...

weixin_33912453的博客 902

产业园区如何高效对接企业技术需求与高校科研成果?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

Entity Framework Core 2.0 使用入门

一.前言 Entity Framework(后面简称EF)作为微软家的ORM,自然而然从.NET Framework延续到了.NET Core。以前我也嫌弃EF太重而不去使用它,但是EF Core(Entity Framework Core)已经做了很多性能优化,还有一些增加新特性,吸引了我去使用它。关于EF Core 2.0 的新特性请看:http://www.cnblogs.com/stul

dotNET跨平台 1万+

国央企创新负责人如何快速掌握本地科技资源分布与匹配情况?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

国央企创新负责人如何实现科技成果的精准识别与高效筛选?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

Entity Framework Core Include用法全揭秘(包含查询性能优化实战)

掌握Entity Framework Core包含查询Include的正确用法,解决数据加载性能瓶颈。涵盖一对多、多级关联查询场景,详解Include、ThenInclude等核心方法,避免N+1查询问题,提升应用响应速度,值得收藏。

PixelWander的博客 724

STM32H745xI双核芯片SMPS/LDO配置误区:从复位失败到精准排查的实战复盘

本文详细分析了STM32H745xI双核芯片在SMPS/LDO配置中的常见误区,特别是复位失败问题的排查过程。通过对比参考板与故障板的波形数据,揭示了电感选型不当导致的电源稳定性问题,并提供了硬件设计检查清单和调试技巧,帮助开发者避免类似陷阱。

weixin_42531588的博客 265

EntityFramework Core 1.1有哪些新特性呢?我们需要知道

前言 在项目中用到EntityFramework Core都是现学现用,及时发现问题及时测试,私下利用休闲时间也会去学习其他未曾遇到过或者用过的特性,本节我们来讲讲在EntityFramework Core 1.1中出现了哪些新特性供我们使用。 EntityFramework Core 1.1新特性探讨 DbSet.Find 在EF 6.x中也有此方法的...

weixin_34249678的博客 220

ITIL 4 讲解:服务目录

最近一直比较忙,没有时间写文章了。今天有空,写写服务目录。 在最近的项目中,服务目录是比较热的话题。金融行业大部分银行、证券、金融公司都实行ITIL流程管理有些年头了,ITIL中最基础的服务请求、事件、问题和变更都已经实施完毕,目前客户在运维领域做的项目大部分都要求整理服务目录,实行服务级别管理。 服务目录介绍 首先解释一下什么是服务目录。服务目录在ITIL 4的定义是:有关服务提供商的所有服务和服务产品的结构化信息,与特定目标受众相关。这个解释有些晦涩难懂,简单来说就是提供给业务用户的服务项,就像饭

雅子MM的专栏 6467

深度揭秘!用 DeepSeek 打造超智能电商客服系统全流程

摘要:本文围绕使用 DeepSeek 开发电商智能客服展开详细教程。先介绍前期准备,包括了解 DeepSeek、获取 API 权限与搭建开发环境。接着阐述数据收集预处理,结合电商业务逻辑实现商品与订单信息查询。还提及优化性能的方法,如模型微调、多轮对话管理和错误处理。然后说明了基于 Web 和云平台的部署方案。最后强调持续监控和改进的重要性,通过设置监控指标、收集分析用户反馈来优化系统,助力开发者打造高效电商智能客服。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 7815

EntityFramework Core 1.1 Add、Attach、Update、Remove方法如何高效使用详解

前言 我比较喜欢安静,大概和我喜欢研究和琢磨技术原因相关吧,刚好到了元旦节,这几天可以好好学习下EF Core,同时在项目当中用到EF Core,借此机会给予比较深入的理解,这里我们只讲解和EF 6.x中不同,相同的则不再叙述。 EntityFramework Core 1.1方法理论详解 当我们利用EF Core查询数据库时如果我们不显式关闭变更追踪的话,此时实体是被追踪的,关于变更追踪我...

weixin_33739541的博客 489

把财务与管理会计装进一张表:读懂 S/4HANA 的 ACDOCA

别慌,这反而是设计所需。只是大量历史上为汇总、加速而建的索引与汇总表被淘汰或改造,很多被兼容视图 compatibility views 替代,通过视图去 ACDOCA 或 ACDOCT 取数,从而保证老代码还能 SELECT 到数据,但失去写权限。它把原来分散在多张表里的信息整合到一起,例如总账、固定资产、物料账、盈利能力分析 CO-PA、成本控制等维度,发布过的资料多次强调这一点。其二,查询必须带上高选择性的条件,尤其是 RLDNR、RBUKRS、GJAHR 这三个维度,能大幅降低列存扫描的代价。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 948

EntityFramework Core 3.0 Preview

前段时间.Net Core 3.0 发布了,Entity Framework Core 3.0 也发布了Preview版。假期用了一上午大致研究了一遍,同时又体验了一把V...

dotNET跨平台 1055

题解:洛谷 P14357 [CSP-J 2025] 拼数

等知名刷题平台精心挑选而来,并结合各平台提供的算法标签和难度等级进行了系统分类。题目涵盖了从基础到进阶的多种算法和数据结构,旨在为不同阶段的编程学习者提供一条清晰、平稳的学习提升路径。小 R 想知道,在他所有能拼成的正整数中,最大的是多少。你需要帮助小 R 求出他能拼成的正整数的最大值。小 X 给了小 R 一个字符串。输出一行一个正整数,表示小 R 能拼成的正整数的最大值。中的任意多个数字,按任意顺序拼成一个正整数。,表示小 X 给小 R 的字符串。#普及-# #其他排序#洛谷:[P14357。

团爸讲算法 1394

华为OD机试双机位C卷-分披萨 (Py/Java/C/C++/Js/Go)

华为OD机试(机考)双机位C卷 【分披萨】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为od机试 - 分披萨。

qq_45776114的博客 1396

使用Include扩展方法来使用EntityFramework贪婪加载

使用DbSet<T>类的扩展方法(位于EntityFramework程序集的System.Data.Entity命名空间,所以别忘了添加using System.Data.Entity),可以使用EntityFramework的贪婪加载。 比如有主表ATable,子表BTable,在加载A表中记录(对象)的时候同时加载子表B中的记录(对象),则: context.ATables.Include(a=>a.具体的导航集合属性).where(...); 比如有主表ATable,子表...

就在昨天之技术点滴 1038

JVM高频面试基本问题与知识点整理

JVM高频面试基本问题与知识点整理

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 87万+

EntityFramework Core 3多次Include导致查询性能低之解决方案

上述我们简单讲解了几个小问题,这节我们再来看看如标题EF Core中多次Include导致出现性能的问题,废话少说,直接开门见山。首先依然给出我们上一节的示例类:接下来我们在控制台进行如...

dotNET跨平台 1313

大模型部署指南:LM Studio

本文介绍使用LM Studio部署大模型

举世誉之而不加劝,举世非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。 1951

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

上一篇: Aggregate函数深度剖析:90%开发者忽略的关键细节
下一篇: 【C# LINQ GroupBy多键实战指南】:掌握高效数据分组的5大核心技巧
SimSolve
博客等级 码龄1年 152粉丝 2009原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值