最新C#教程和.NET开发资源

写 EF Core 查询,90% 的人第一步就错了:刚子教你避开所有坑

2026-04-18 技术文章 8094 字

本文介绍了EF Core 复杂查询几个核心技巧:关联查询用 Include + ThenInclude;动态筛选用表达式树或 PredicateBuilder;性能优化记住五条铁律——只读用 AsNoTracking,只取需要的字段用投影,N+1 问题用 Include,多集合用 AsSplitQuery,分页前必须排序。最重要的是,学会查看生成的 SQL,别把 EF Core 当黑盒。把 EF Core 当成带类型安全的 SQL 生成器,90% 的复杂查询场景你都能搞定。

阅读更多

序列化 JSON 时崩了?99% 是 EF 延迟加载惹的祸,三种解法拿走不谢

2026-04-18 技术文章 7951 字

本文介绍了EF 默认开启延迟加载,查主表时不带明细,等你要用时才偷偷查数据库。如果此时 DbContext 已释放,就会报 ObjectDisposedException。解决方案有三:关掉延迟加载、用 Include/ThenInclude 提前加载、或用 DTO 投影。EF6 和 EF Core 的 Include 语法有差异,EF Core 的 ThenInclude 更直观。最佳实践:Web 应用全局关闭延迟加载,只读查询用 AsNoTracking,优先用 DTO。记住:在 DbContext 活着的时候,把需要的数据都显式加载好。

阅读更多

C#事务处理最佳实践:别再让“主表存了、明细丢了”的破事发生

2026-04-18 技术文章 6790 字

本文讲了保存主表+明细+条件,要么全成要么全败,事务得这么写:用using TransactionScope自动回滚,try-catch放事务里面,别把异常直接扔给用户。新增主表后记得回填自增ID,更新模式要先删干净旧的再插新的。每个DAL返回值都要检查,失败了立刻停止,别调Complete()。导航属性用Include提前加载,不然DbContext一关就崩。隔离级别别用默认的Serializable,指定ReadCommitted更稳。照着这个套路写,数据一致性稳稳的。

阅读更多

工作面试必备:SQL 中的各种连接 JOIN 区别总结

2026-04-14 技术文章 3673 字

面试常考的SQL JOIN,刚子用两张表给你讲明白。Inner Join只返回能匹配上的数据;Left Join左表全保留,右表能配就配;Right Join反过来;Full Join两边全要。最坑的是ON和WHERE:ON在生成临时表时起作用,不会干掉左表行;WHERE是最终过滤,不符合条件的全删。写Left Join时,想清楚条件放哪——放ON是限制右表带什么,放WHERE是真要删行。搞反了,数据就对不上了。

阅读更多

AutoMapper三板斧:值转换器、条件映射、自定义解析器,复杂映射不再愁

2026-04-14 技术文章 3871 字

AutoMapper用得好能省大把时间,但光会CreateMap可不够。刚子教你三个高级技巧:值转换器专治类型不匹配,比如数据库的decimal金额转成前端要的“$123.45”;条件映射让你想清楚再动手,不满足条件就不映射;自定义解析器搞定复杂拼凑逻辑,比如把姓和名合成全名。把映射逻辑收进Profile里,业务代码干干净净。学会这三招,复杂对象映射不再愁。

阅读更多

C#性能优化:7个实战技巧减少代码运行时间

2026-04-07 技术文章 5488 字

C 再次登顶!2025 年 TIOBE 年度编程语言榜单揭晓,C 摘得桂冠。这已经是 C 三年内第二次获此殊荣。但语言再好,代码写得慢也是白搭。本文从算法优化到内存管理,7 个实战技巧让你的代码快如闪电。

阅读更多

for vs foreach性能对比:刚子跑了1亿次循环,告诉你谁更快

2026-04-07 技术文章 2796 字

for和foreach到底谁快?刚子跑了1亿次循环告诉你:数组两者差不多,List的foreach略快,链表和字典只能用foreach。日常写代码别纠结那几微秒,除非你是做游戏引擎这种极端性能场景。真要选,优先用foreach,代码更清晰、更安全。面试官问起来,记得分情况回答。记住:先让人看懂,再让机器跑快。

阅读更多

.NET被上海信创“拉黑”了?刚子给你讲明白:别慌,这事儿没那么严重

2026-04-07 技术文章 2269 字

上海卫健委把C/.NET列为最高风险的“A组件”,建议公立医院逐步淘汰。这事儿一出来,很多.NET兄弟慌了。刚子跟你说:别怕。政策判断严重滞后于技术——.NET 8早已开源跨平台,跑在麒麟、龙芯上都没问题。信创确实收窄了.NET在部分领域的空间,但全球范围内它依然是主流。别只盯着WinForms,多学ASP.NET Core、Avalonia跨平台方向。政策会变,技术无罪,能解决问题的程序员永远有饭吃。

阅读更多

代码过载时代:会写代码已经不牛了,会“删代码”才是真高手

2026-04-07 技术文章 2220 字

自从用了AI编程工具,代码是写得快了,但心里越来越没底。一天能怼2000行,重复逻辑、隐蔽bug、看不懂的函数满天飞。这不是代码过载,这是技术债务爆仓。刚子提醒你:AI生成代码的速度,远超你消化代码的速度。应对过载,别指望AI替你管质量。四个笨办法很管用:生成的代码必须人工过一遍;强制“删代码”文化,新增一行就找地方删一行;用静态分析工具自动扫描AI代码;单元测试不能省,让AI顺便把测试也写了。最重要是心态转变:从“代码生产者”变成“代码管理者”。驾驭AI,不是让它替你写代码,而是让你敢接手、敢维护它写的代码。

阅读更多

都是微软亲儿子,WPF凭啥干不掉WinForm?这3个场景说明白了

2026-04-07 技术文章 2363 字

WinForm和WPF都是.NET桌面开发的老牌选手,但WPF能不能取代WinForm?刚子直接告诉你:取代不了,各干各的活儿。WinForm像手动挡面包车,简单、皮实、开发快,适合企业内部工具、工控设备、老项目维护。WPF像自动挡跑车,界面炫酷、数据绑定强、高分屏适配好,适合面向客户的复杂客户端。初学者建议先学WinForm建立信心,再学WPF理解MVVM。做项目时,工期紧、要求稳就选WinForm;要颜值、要交互就上WPF。别纠结谁取代谁,选对工具干对活儿才是老司机的思维。

阅读更多