EF Core 原生 SQL 实战:FromSql、SqlQuery 与对象映射边界
做 EF Core 一段时间后,很多人都会遇到同一个节点:常规 LINQ 能覆盖大多数查询,但一到复杂报表、视图或者历史 SQL 复用场景,就会开始考虑原生 SQL。问题不在于“能不能写 SQL”,而在于怎么写得可维护、可观测、还能和 EF Core 的映射体系配合好。这篇文章讲解 FromSql、SqlQuery 的使用边界和对象映射的一些坑。
1. 问 ...
让 AI 代理拥有"专业技能包":Microsoft Agent Skills
本文介绍如何使用Agent Skills为Microsoft代理框架中的代理提供可重用的领域专业技能包。通过.NET和Python内置技能提供者,代理可以在运行时动态加载所需技能,增强其能力而无需修改核心指令。
Introduction to Agent Skills
您现在可以在Microsoft Agent Framework中配置可移植、可重用的Agent Skills包,以提供领域专业知 ...
使用Microsoft Agent Framework构建C# AI代理
本文介绍如何使用Microsoft Agent Framework在C#中构建生产级AI代理,涵盖环境设置、内存管理、工具及多代理工作流。本框架旨在替代AutoGen和Semantic Kernel,提供更好的上下文管理和代理协调。
What Is Microsoft Agent Framework?
Microsoft Agent Framework 是微软推出的新框架,用于替代 AutoGen 和 Semantic Kernel ...
【UWP】使用 Vue/Vite 编写 WinJS/UWP
如今微软网页套壳越来越变本加厉,到处都是一人一个浏览器,套壳大小已经成百上千,但殊不知微软曾经有过对网页套壳的原生支持,打包大小只按k记,那就是 MSAppHost 了,不过更为人所知的是其控件库 WinJS,所以这里就用 WinJS 代指 JS/HTML 模式的 UWP 了。WinJS/UWP 本质就是直接让 Edge (过去为 IE) 的 WebView 直接打开 ...
.NET 磁盘BitLocker加密-技术选型
在之前的磁盘管理技术选型中,我们讨论了磁盘操作的四种方案(PowerShell / Diskpart / WMI / Win32 IOCTL)以及各自的环境依赖问题。本文聚焦BitLocker加密操作,同样面临类似的技术选型问题
在企业级网络磁盘产品中,VHDX虚拟磁盘镜像通常需要BitLocker加密保护数据安全。主要涉及三个操作:
查询加密状态 —— 判 ...
通过 C# 复制 Word 文档、指定段落、指定节
在日常办公或企业级文档处理中,我们经常需要复制 Word 文档的内容—比如合并多个文档的核心章节、提取指定的段落或表格、备份文档中的关键部分等。手动复制不仅效率低下,还容易丢失格式;而通过代码自动化复制,既能保证格式完整,又能批量处理,极大提升工作效率。
本文基于 Free Spire.Doc for .NET 免费库,详细介绍如 ...
WPF新手村教程(五)— 附魔教学(绑定)
WPF个人文档(五)—— 绑定
[!IMPORTANT]
在开始之前,我觉得我们非常有必要要先了解一下ViewModel
ViewModel:专门给界面(View)使用的数据对象
# ViewModel = 专门给界面(View)使用的数据对象
如果只讲绑定,可以简单理解为数据源对象
在这里先留一个简单的印象,后面会详细讲解,在看完本篇随笔之后,你也会对这个东西 ...
.NET Win32磁盘动态卷触发“函数不正确”问题排查
最近在处理Win32磁盘管理.NET 磁盘管理-技术方案选型 - 唐宋元明清2188 - 博客园-获取本地磁盘信息时,遇到一个比较隐蔽的问题。
磁盘对象获取异常,DEVICEIOCONTROL.IOCTL_STORAGE_GET_DEVICE_NUMBER FAILED, 函数不正确。(0X00000001)
当机器上出现动态卷、跨区扩展卷这类特殊卷时,GetDiskNumberByVolumeName 中执行 Devi ...
Satori GC:同时做到高吞吐、低延时和低内存占用
前言
GC 的设计里一直有一个很难绕开的矛盾:高吞吐、低延时、低内存占用,通常很难同时做到。
传统做法里,想要更短的停顿,往往要把更多工作搬到并发阶段,甚至让平时的对象访问承担更高成本;想要更高的吞吐量,又往往意味着平时路径成本必须足够低,于是更多工作会堆到回收阶段;想要更低的内存占用,则又需要更积极地 ...
surging 发布命令行工具
一、概述
surging 号称微服务引擎,但是每次都依赖于dotnet 命令启动,都需要通过配置文件进行配置,让大家都感到只见其形未见其详,感觉很难上手,对于新人不友好,没有熟悉服务规则配置,比如maxConcurrentRequests,executionTimeoutInMilliseconds没有更改默认配置,导致压测不理想,这些问题在很 ...
C# 中 Excel 转 DataTable 的技术实现
在企业级 .NET 开发场景中,Excel 文件与内存数据集(如 DataTable)的格式互转是高频技术需求。DataTable 作为 .NET 框架中通用的内存数据结构,常被用于承接 Excel 数据并完成后续的数据验证、持久化、展示等操作。本文聚焦于 .NET 环境下,如何通过第三方类库实现 Excel 文件到 DataTable 的高效转换,核心讲解数据转换 ...
[Maui] 造轮子——LoggerSqlite
上文异常处理用到了日志记录器,本文介绍一下基于Sqlite的日志记录器
一、定义一个传递、保存日志的类
public class LogItem
{
public int Id { get; set; }
public string DT { get; set; } = default!;
public LogLevel Level { get; set; }
public string CategoryName { get; set; } = default!;
p ...
记一次 .NET 某低代码开发框架 内存暴涨分析
一:背景
1. 讲故事
微信里有一位朋友找到我,说他们公司的程序存在内存暴涨问题,自己分析了下没有找到原因,让我看下怎么回事?由于大家都有dump分析基础,所以交流互通上还是很顺利的,接下来就是上dump分析啦。
二:内存暴涨分析
1. 为什么会内存暴涨
先还是老套路,用 !address -summary 观察下内存分布情况,输出如下 ...
笔记:在 WPF 中通过侧边导航栏实现内容切换
本篇笔记主要记录,如何在 WPF 中利用 ListBox+ContentControl+UserControl 三个控件,以侧边导航栏的形式实现内容切换。
效果图如下:
┌─────────┬────────────────────────────┐
│ Title │ │
├─────────┤ ...
[Maui] 造轮子——前言、本地化
前言
新的一年开始了,公司提了新的要求:
国产化
国际化
开发部的应对是:从wpf转换Maui:
安卓版也是国产化
国际化就是本地化,弄个多国语言的事情
话说华为的鸿蒙,为了国产化,在华为P40手机上运行了Maui的缺省项目,天真的以为鸿蒙支持Maui Android。于是去买了个华为的平板,然后悲剧了。亲测:P40手机的鸿蒙4.2 ...
.NET SqlSugar多线程下SqlSugarClient 的线程安全陷阱
使用SqlSugar读取Sqlite数据库,项目运行过程中间歇性抛出以下异常:
SqlSugar.SqlSugarException:“中文提示 : 连接数据库过程中发生错误,检查服务器是否正常连接字符串是否正确,错误信息:Connection was closed, statement was terminatedDbType="Sqlite";ConfigId="".English Message : Connection open error . Conn ...
Yi.Net平台管理--工作流
此篇主要记录和介绍工作流模块的功能。PS:仅做个人学习用
工作流表单
表单是通过前端代码自定义后,通过界面来进行表单注册。
工作流模板
创建好表单后,可以引用表单创建工作流模板,此处以简单的条件判断流程作为示例。
其中,还有会签功能的节点,展示如下:
PS:各个节点均可自定义节点任务,在 ...
Yi.Net平台管理--基础权限
Yi.Net是基于.Net6后端框架和传统前端框架开发的平台管理系统。
架构上采用前后端分离的方式,支持分布式部署,开发的核心思想:面向服务、面向对象。(此处说明下:本人是主要做后端开发工作,前端是采用传统开发的前端模式,不是现代化构建环境(webpack、vite)下的前端模式。主要前端框架:elementUI、vue2等。 ...
如何在 DotNet 中使用类似 golang 的 vendor 的编译模式
作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢!
cnblogs博客
zhihu
Github
公众号:一本正经的瞎扯
一个项目中,存在部分库是公司内的,且需要配置个人的用户名和密码连接到 NuGet 站点,才能下载这些库。
而有时候需要直接把一个仓库拉到某个环境上进行编译,且不希望把带了密码的 NuGet.Config 文件提交 ...
如何通过 C# 实现 PDF 文本提取?
在日常办公和开发中,从 PDF 文件中提取文本是一项高频需求。手动复制粘贴不仅耗时,而且面对大量文档时效率极低。传统的自动化方案往往依赖 Adobe Reader 等外部组件,不仅部署麻烦,遇到加密或扫描件更是难以处理。
本文将介绍如何使用免费库 Free Spire.PDF for .NET ,无需安装任何 PDF 阅读器,轻松实现高精度、高可靠 ...