课程定位:解决 .NET 后端开发的工程化落地问题 这门课程聚焦于 NET 5 与 .NET Core 的实战开发,核心解决的是从“语法理解”到“工程构建”的跨越问题。对于学习者而言,最大的痛点往往不是不会写代码,而是缺乏对 .NET Core 整体生态架构的系统性认知,以及将业务逻辑封装为可复用后端服务的能力。本课程通过杨中科的主讲,重点梳理了 .NET…
这门课程聚焦于 NET 5 与 .NET Core 的实战开发,核心解决的是从“语法理解”到“工程构建”的跨越问题。对于学习者而言,最大的痛点往往不是不会写代码,而是缺乏对 .NET Core 整体生态架构的系统性认知,以及将业务逻辑封装为可复用后端服务的能力。本课程通过杨中科的主讲,重点梳理了 .NET Core 的核心设计理念,涵盖了依赖注入、中间件管道、配置系统等关键机制。它不仅仅停留在 API 接口的编写层面,而是深入到了项目结构的设计规范、分层架构的实现细节以及如何利用 EF Core 进行高效的数据持久化处理。这套内容旨在帮助开发者建立起符合企业级标准的后端开发思维,解决在真实项目中遇到的性能优化、模块化设计和松耦合架构等实际问题。
本课程适合已经掌握 C# 基础语法,但希望深入系统学习后端框架开发的开发者。具体的建议是,学习者需要先熟悉面向对象编程思想,了解基本的 SQL 数据库操作,并具备 Visual Studio 或 VS Code 的基本使用能力。如果你正处于从前端转向全栈,或者希望从传统 .NET Framework 迁移到跨平台的 .NET Core 技术栈,这门课提供了非常贴合的过渡路径。课程假设你具备基础的编程逻辑能力,因此不会花费大量篇幅讲解变量、循环等基础概念,而是直接切入框架层面的应用。这种设定使得学习过程更加紧凑,避免了重复已知内容的浪费,让学习者能够迅速进入核心技术的实战演练中。
为了达到最佳的学习效果,建议按照以下顺序进行对照实践。首先,重点观看项目搭建与架构设计部分,理解 Controller、Service 和 Repository 的分层逻辑,这是后续所有功能开发的基础。其次,深入研读中间件(Middleware)的实现原理,尝试自行编写一个简单的自定义中间件,以掌握请求管道的处理流程。再次,结合资料包中的源码,重点复现数据访问层代码,特别是 LINQ 查询优化和事务处理的最佳实践。学完本课后,开发者应能独立搭建一个结构清晰、可维护性强的 RESTful API 服务项目,并能够处理复杂的业务逻辑和数据交互。资料包中的源码并不是简单的演示,而是包含了完整的项目结构和注释,学习者应将其作为“参照物”,先关闭源码独立编写核心模块,遇到瓶颈时再对照检视差异,这种“先做后看”的方式能最大化地提升工程落地能力。
课程目录: 01 没有.NET基础的朋友不用学这套课,等我的基础课 02 Part1-1什么是.NET Core 03 Part1-2.NET Core的重要问题 04 Part1-3.NET Standard 05 Part1-4NET5开发环境安装配置 06 Part1-5 .NET 5项目结构及程序发布 07 Part2-1-NuGet1 08 Part2-2-NuGet2 09 Part2-3异步编程1 10 Part2-4异步编程2 async await基本使用 11 Part2-5:异步编程3-编写异步方法 12 Part2-6:异步编程4 async、await原理揭秘 13 Part2-7:异步编程5 async背后的线程切换 14 Part2-8:异步编程6 异步方法不等于多线程 15 Part2-9:异步编程7 为什么有的异步方法没标async 16 Part2-10
课程目录: 01 没有.NET基础的朋友不用学这套课,等我的基础课 02 Part1-1什么是.NET Core 03 Part1-2.NET Core的重要问题 04 Part1-3.NET Standard 05 Part1-4NET5开发环境安装配置 06 Part1-5 .NET 5项目结构及程序发布 07 Part2-1-NuGet1 08 Part2-2-NuGet2 09 Part2-3异步编程1 10 Part2-4异步编程2 async await基本使用 11 Part2-5:异步编程3-编写异步方法 12 Part2-6:异步编程4 async、await原理揭秘 13 Part2-7:异步编程5 async背后的线程切换 14 Part2-8:异步编程6 异步方法不等于多线程 15 Part2-9:异步编程7 为什么有的异步方法没标async 16 Part2-10:异步编程8 不要用Sleep 17 Part2-11:异步编程9 CancellationToken 18 Part2-12:异步编程10 WhenAll 19 Part2-13:异步编程11 异步其他问题 20 Part2-14:LINQ 1 为啥要学LINQ 21 Part2-15:LINQ 2 Lambda是怎么来的 22 Part2-16:LINQ 3 揭秘LINQ方法的背后 23 Part2-17:LINQ 4 常用扩展方法1 24 Part2-18:LINQ 5 常用扩展方法2 25 Part2-19:LINQ 6 常用扩展方法3 26 Part2-20:LINQ 7 常用扩展方法4 27 Part2-21:LINQ 8 链式调用 28 Part2-22:LINQ 9 LINQ另一种倩影 29 Part2-23:LINQ 10 LINQ解决面试问题 30 Part2-24:依赖注入1_概念 31 Part2-25:依赖注入2_.NET中DI服务注册 32 Part2-26:依赖注入3_服务的生命周期 33 Part2-27:依赖注入4_服务定位器 34 Part2-28:依赖注入5_.NET依赖注入 35 Part2-29:依赖注入6_DI综合案例-1 36 Part2-30:依赖注入6_DI综合案例-2 37 Part2-31:依赖注入6_DI综合案例-3 38 Part2-32:配置系统1_入门 39 Part2-33:配置系统2_选项方式读取配置 40 Part2-34:配置系统3_其他配置提供者 41 Part2-35:配置系统4_开发自己的配置提供者,从学习者到创造者 42 Part2-36:配置系统5_开发数据库配置提供者 43 Part2-37:配置系统6_多配置源的优先级 44 Part2-38:.NET日志系统1_什么是Logging 45 Part2-39:.NET日志系统2_NLog 46 Part2-40:.NET日志系统3_NLog深入 47 Part2-41:.NET日志系统4_结构化日志和集中日志服务 48 Part3-EF Core-1-EFCore简介 49 Part3-EF Core-2-搭建EFCore开发环境 50 Part3-EF Core-3-EFCore数据的增删改查 51 Part3-EF Core4-FluentAPI哪些不该用 52 Part3-EF Core5-说FluentAPI的时候我们在说啥 53 Part3-EF Core6-主键无小事 54 Part3-7:EFCore Migration深入 55 Part3-8:EFCore其他迁移命令 56 Part3-9:EFCore反向工程 57 Part3-10:EFCore如何操作数据库 58 Part3-11:什么是EFCore做不到的 59 Part3-12:通过代码查看EFCore的SQL语句 60 Part3-13:同样的LINQ被翻译为不同的SQL语句 61 Part3-14:EF Core一对多关系配置 62 Part3-15:EF Core一对多关系数据的获取 63 Part3-16:EF Core额外的外键字段 64 Part3-17:EF Core单向导航属性 65 Part3-18:EF Core关系配置在任何一方都可以 66 Part3-19:EF Core自引用的组织结构树 67 Part3-20:EF Core一对一 68 Part3-21:EF Core多对多 69 Part3-22:EF Core基于关系的复杂查询 70 Part3-23:EF Core有了IEnumerable还要IQueryable干什么 71 Part3-24:EF Core客户端评估有时候也很可爱 72 Part3-25:EF Core IQueryable的延迟执行 73 Part3-26:EF Core IQueryable的复用 74 Part3-27:EF Core 分页查询 75 Part3-28:IQueryable是一次性把数据都加载到内存吗 76 Part3-29:EF Core中的异步方法 77 Part3-30:EF Core执行非查询原生SQL语句 78 Part3-31:EF Core执行实体相关查询原生SQL语句 79 Part3-32:EF Core执行任意原生SQL查询语句 80 Part3-33:EF Core如何知道实体数据变了 81 Part3-34:EF Core优化之AsNoTracking 82 Part3-35:EF Core实体状态跟踪的妙用 83 Part3-36:EFCore如何批量删除、新增、修改、插入 84 Part3-37:EF Core全局查询筛选器 85 Part3-38:EF Core悲观并发控制 86 Part3-39:EF Core乐观并发控制:并发令牌 87 Part3-40:EF Core乐观并发控制:RowVersion 88 Part3-41:什么是表达式树,Expression和Func的区别 89 Part3-42:查看表达式树的结构 90 Part3-43:通过代码动态构造表达式树 91 Part3-44:让动态构建表达式树更简单