前面两篇我们讲了怎么3分钟搭一个Blazor后台,以及项目的目录结构。今天讲点更爽的——怎么在写少量代码或不写代码的情况下,把一个新模块的后台页面搞出来。 一、传统方式:写一个模块要多久? 假设你要加一个「产品管理」模块,传统开发流程: 建数据库表(写SQL) 写实体类(映射字段) 写Reposit ...
当我告诉别人我正在用 C# 构建一个 **ACID 数据库引擎**时,第一反应总是如出一辙:“那 GC(垃圾回收)停顿怎么办?”
这是一个合情合理的问题。几乎没有人会在 .NET 中构建高性能数据库引擎。人们普遍认为,这类软件必须使用 C、C++ 或 Rust 编写——托管语言基本上被排除在“微秒... ...
ADO.NET连接类概述ADO.NET库包含可用于数据存储区和客户应用程序之间传输数据的类。 连接类 负责在客户端程序的非连接数据类与数据存储区之间传输数据的类成为连接类。ado.net提供了下面几种类。 OLEDB 用于access,excel,文本等ODBC 用于多种数据源提供的多种数据访问功能 ...
11. 锁机制完全指南:从 lock 到异步锁 本章 GitHub 仓库:csharp-concurrency-cookbook ⭐ 欢迎 Star 和 Fork!所有代码示例都可以在仓库中找到并运行。 本章导读 本文目标:彻底搞清楚 C# 里所有常用锁的底层原理、适用场景和正确用法,从 ...
MonkeyCode vs Cursor vs Copilot:2026年AI编程工具终局之战 AI编程工具已经卷到下半场了。 2024年,大家还在讨论"AI能不能写代码";2026年,问题变成了"AI编程工具哪家强"。 我同时用了三个月MonkeyCode、Cursor和Copilot,以下是我的 ...
/// <summary> /// PaddleOCRSharp -Version 4.5.0.1 /// </summary> public class NewController : ApiController { private static PaddleOCREngine _ocrEngin ...
在批量生成报告、动态拼接演示文稿或自动化处理 PPT 模板时,通过代码动态增删幻灯片几乎是绕不开的需求。本文将以免费库 Free Spire.Presentation for .NET 为例,提供一个可直接落地的技术方案。 技术方案定位:无 Microsoft Office 依赖,纯托管代码实现,可 ...
上篇文章我简单介绍了如何使用EasyAdminBlazor创建一个admin blazor项目。今天拿一个真实项目跑起来的文件夹截图,把每个目录的用途说清楚。 这是用dotnet new easyadmin -n MyProject创建后的完整结构: EasyAdminBlazorDemo/ ├── ...
还在为接外包项目时重复造轮子而烦恼?一个命令,一套完整的企业级后台管理系统直接到手。 一个命令,项目启动 打开终端,依次执行以下命令: # 安装模板包 dotnet new install EasyAdminBlazor.Templates # 使用模板创建项目 dotnet new easyadm ...
10. Parallel 与 PLINQ:榨干多核 CPU 本章 GitHub 仓库:csharp-concurrency-cookbook ⭐ 欢迎 Star 和 Fork!所有代码示例都可以在仓库中找到并运行。 本章导读 本文目标:彻底搞懂 Parallel.For/ForEach ...
工业上位机、MES客户端、设备调试,刚入行选什么框架?老项目维护用不用换?新项目到底上WinForm、WPF、Avalonia还是QT? 今天把目前工业现场最常用的4个上位机框架:WinForm、WPF、Avalonia、QT,从底层特点、优缺点、适合人群、适配项目,总体梳理下。文章中难免有所欠缺,... ...
在当今互联网时代,大家都提倡无纸化绿色办公,如扫码,在线,小程序等,既提高了效率,又节约纸张,绿色环保,但在某些特定的场景与人群(如超市收银),打印票据或收据是必不可少。今天我们以一些简单的小例子,简述基于.NET的Windows窗体编程中打印的常见用法,仅供学习分享使用,如有不足之处,还请指正。 ...
09. 异步编程中的内存泄漏:那些悄悄耗空你服务器的代码 本章 GitHub 仓库:csharp-concurrency-cookbook ⭐ 欢迎 Star 和 Fork!所有代码示例都可以在仓库中找到并运行。 本章导读 本文目标:识别异步代码中最隐蔽的 5 类内存泄漏,掌握每种泄漏的 ...
08. 异步编程最佳实践与反模式:那些坑过无数人的写法 本章 GitHub 仓库:csharp-concurrency-cookbook ⭐ 欢迎 Star 和 Fork!所有代码示例都可以在仓库中找到并运行。 本章导读 本文目标:掌握异步编程的 Do's and Don'ts,识别并避 ...
一:背景 1. 讲故事 前些天有位朋友微信找到我,说它的程序出现了内存暴涨,自己也没分析出啥,让我看下到底怎么回事,然后让这位朋友抓一个dump,拿它占一卦就行了。 二:内存暴涨分析 1. 为什么会暴涨 到底是哪里的暴涨,折半查找一下就知道了,分别通过 !address -summary 和 !ee ...
1、DataTable 转为 Xml 增加列的属性,保存文件,保存的极为简单的文件信息, 所有的字段或者属性信息,默认都是字符串类型。 如果需要保存每个字段的具体属性,可以在保存时,加入保存模式 2、DataView DataView是DataTable的一个窗口,可以存储或者过滤DataView的 ...
数据内容介绍(DataRow) 在介绍了DataTable,DataColumns之后,现在介绍DataRow。 上一节,我们创建了 DataTable,并添加了 DataColumns字段信息,数据表创建好了 框架,就可以添加数据,记录信息。 DataTable包含rows集合,包含DataRow ...
在各类企业级应用中,程序化修改 Word 文档是一个高频需求——批量更新合同模板中的占位符、动态生成个性化的报告与报价单、统一标准化文档中的术语表述等。实现这类需求的核心技术挑战在于:Word 文档采用复杂的内置结构存储文本与格式,简单的字符串操作极易破坏文档的格式完整性,导致输出结果无法满足正式应 ...
【本文借助AI 写作】 在构建与分发轻量级.NET 桌面工具时,传统的开发框架普遍面临着分发体积臃肿和运行时依赖复杂的双重局限。虽然微软官方的 Windows Forms 与 WPF 经过了长期的技术沉淀,但它们天然缺乏对 NativeAOT(提前编译)与程序集裁剪(Trimming)的完整支持,难 ...
既然 EF Core 的设计理念是以面向对象的方式操作数据库,那么,继承问题是绕不过去的。然而大伙伴也知道,数据库是用表来存储数据记录的,表与表之间哪来的继承。很自然地,EF Core 必须在数据库与实体类之间做一些特殊处理,才能让存在继承关系的实体类与数据表之间的映射不被破坏。 EF Core 内 ...