刷新
推荐一款代码规范检查(CodeReview)神器

博主头像 在实际项目开发中,越是复杂的项目,越是需要很多人协同完成,每一个人根据职责分工不同,负责不同的模块。在这个过程中,由于每一个人的工作经历不同,在不同的职场环境中,会形成不同的编码习惯,比如有人喜欢驼峰命名方式,有人喜欢帕斯卡命名方式,还有人喜欢用下划线分隔单词,更有甚者,有的人喜欢随意命名,那在整个... ...

【EF Core】使用外部 Model

博主头像 对于模型的配置,98.757%的情况下,我们使用“数据批注”特性类,或者 Fluent API (重写 DbContext 类的 OnModelCreating 方法)进行配置即可。但在少数情况下,可能会考虑在 DbContext 之外配置模型。比如: 你的实体类和模型,以及 DbContext 派 ...

推荐一款高性能状态机管理解决方案

博主头像 在实际软件开发中,尤其是工业软件,每一款设备都有复杂的状态以及状态之间的切换的功能需求,在这种情况下,如何管理状态以及状态之间切换,和对应状态下的功能控制,成为非常重要的一个问题。如果处理不好,那这种繁复的状态将成为“像面条一样”缠绕耦合,一团乱麻,真的就是“剪不断,理还乱”。那如何解决这个问题呢?... ...

【EF Core】聊聊“复合”属性

博主头像 复合(或复杂)属性,即 Complex Property,怎么理解呢?这是相对于常见的基础类型,比如 string、int、byte、long 等类型的属性就是基础类型值,而由多个基础类型构成的类型就是复合类型(当然,复合类型的属性也可以其他复合类型,这里就不套娃了)。 比如,某顿饭由米饭、菜、肉、 ...

String与string的区别

博主头像 C#是区分大小写的,但是我却发现C#中同时存在String与string,于是我很困惑,于是我上网搜索了一下,于是我了解了一些小知识。 MSDN中对string的说明:string is an alias for String in the .NET Framework。string是String的 ...

推荐一款进程间高速交换数据的解决方案

博主头像 在实际开发中,一款应用可能有多个应用程序组成,那这款应用各个组成部分之间的数据交互就成了关键,如何才能快速高效的进行数据交互呢?如果是跨服务器的进程交互,可以采用Remoting,WCF,GRPC等远程过程调用技术(RPC),这种方式会经过网卡进行网络传输,存在一定的数据转换及网络传输等性能消耗。如... ...

【EF Core】带主键实体与无主键实体

博主头像 上一次老周已介绍了 EF Core 框架自动发现实体和实体成员的原理。涉及到对源码的分析,可能大伙伴们都看得气压升高了。故这一次老周不带各位去分析源码了,咱们聊一聊熟悉又陌生的关键词——主键。说它熟悉,是因为只要咱们创建数据表,99%会用到;说它陌生,是指在 EF Core 中与主键相关的细节。 P ...

推荐一款基于.NET的进程间通信框架

博主头像 在Windows操作系统中,每一个应用程序都是相互独立的,它们拥有独立的内存空间,各个应用程序之间形成一道边界,不能互相访问和操作,这是操作系统为了保护应用程序的安全而设计的。这种看似“井水不犯河水”的设计同样有它的弊端,假如两个应用程序需要相互协作配合才能完成工作,那它们就需要进行通信和数据交互,... ...

.Net Minimal APIs实现动态注册服务

博主头像 .Net Minimal APIs实现动态注册服务 前言 dotnet Minimal APIs实现动态注册端点 上一篇文章讲解了在.Net Minimal APIs如何动态注册端点,这篇文章来讲解一下如何动态注册服务 文件层级结构如下: SharpIcoWeb ├── Endpoints │ ├─ ...

dotnet Minimal APIs实现动态注册端点

博主头像 dotnet Minimal APIs实现动态注册端点 前言 之前使用.Net的Minimal Apis框架开发了SharpIcoWeb图片转ico项目,也是初次使用这个最小Api框架,使用下来的感受就是小项目用起来非常舒服,很轻量。 在之前的项目中,我都是手动去注册端点,比如我创建了一个端点类Ic ...

【EF Core】框架是如何识别实体类的属性和主键的

博主头像 在上一篇水文中,老周生动形象地解释了 DbContext 是如何识别实体 Set 的,大伙伴们可能会产生新的疑惑:实体是识别了,但,实体的属性或字段列表,它是怎么识别并映射给数据表的列的呢? 用过 EF 的人都知道(废话),其实默认情况下,实体类中只要不是静态的属性和字段都会被映射到数据表中,就算你 ...

SOD框架使用金仓数据库“踩坑记”

博主头像 SOD框架使用金仓数据库“踩坑记”,严格来说是使用金仓数据库过程的踩坑记,并不是使用SOD框架来访问金仓数据库才会发生的问题,SOD框架的网友多年前就封装了人大金仓(现在已经改名为“电科金仓”)和达梦数据库的SOD框架数据提供程序,对应的Nuget包名字分别是 PDF.NET.SOD.Dameng. ...

net/C#在Linux中使用FileSystemWatcher的限制

博主头像 问题: 一些linux系统默认inotify 实例数量小于需要监视的文件数,导致FileSystemWatcher不工作,且不异常。 Linux 内核对 inotify 实例数量和资源消耗有一定的限制。如果系统中使用了大量的 inotify 实例,可能会达到内核的资源限制,从而导致无法创建更多的 i ...

SharpIcoWeb开发记录篇

博主头像 SharpIcoWeb开发记录篇 前言 大佬用.NET 9.0开发了SharpIco轻量级图标生成工具,是一款控制台应用程序,支持AOT发布,非常方便。 ✨ 功能特点 ️ 将PNG图像转换为多尺寸ICO图标 支持生成包含自定义尺寸的ICO图标(最高支持1024×1024) 检查ICO ...

dotnet 代码调试方法

本文将会从基础到高级,从简单到复杂的顺序,告诉大家如何调试 dotnet 系应用,特别是桌面端应用。本文将会向大家介绍使用 VisualStudio 大量的功能用来提高调试效率,穿插着也会介绍一些好用的调试辅助工具,以及如何编写方便调试的代码,期望大家通过阅读本文能有所收获 ...

基于SharpIco开发图片转ICO工具网站

博主头像 基于SharpIco开发图片转ICO工具网站 SharpIcoWeb 项目介绍 SharpIcoWeb是基于SharpIco开发的图片转ICO工具网站,支持上传png、jpg等图片转换为多尺寸的Ico图片文件。采用前后端分离技术。 后端接口使用 .NET Minimal API开发,够轻量。 � ...

<123···6>