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

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

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

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

TextBoxPopupBehavior控件

博主头像 功能说明 一个用于 WPF TextBox 的附加行为,实现 TextBox 与 Popup 控件的联动效果: 自动弹出/关闭: TextBox 获得焦点时自动打开关联的 Popup TextBox 失去焦点时自动关闭关联的 Popup 点击外部关闭: 点击 TextBox 和 Popup 外部区域 ...

dotnetty 内存泄漏的BUG修复了

一、前言 当你做的产品内存不稳定,CPU不稳定,内存在600MB-3G之内波动,cpu 在30%左右,就算你对外宣传支持可以十万设备,也不会有人相信,如果你做的产品直播推流内存一直稳定在60MB左右,cpu 在1%左右,我说带宽足够,支持1万人在线观看,客户对于这个产品也不会有所怀疑,通过一个月的努 ...

.NET图表控件TeeChart for .NET 中的桑基图系列简介

博主头像 近日发布的 TeeChart for .NET图表库,新增了桑基图系列。桑基图以其独特的可视化实体流和关系的能力而闻名,它是一种强大的工具,使开发人员能够以直观、易读的格式传达复杂的数据。 在这篇博文中,我们将探讨桑基图的典型用例、它们为何有益,以及如何开始在您的应用程序中使用TeeChart fo ...

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

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

[原创]《C#高级GDI+实战:从零开发一个流程图》第07章:来吧,自定义“画布”控件!

博主头像 一、前言 上节课已经抽象出来了形状和连线,但是没解决程序复用的问题:现在所有的代码是写在窗口中的,如果想在其它程序想实现流程图,只能重新写代码或者复制粘贴代码,没办法简单复用,而且也无法保证功能的完整性和及时性。所以我们本节就来看一下,如何独立出一张“画布”控件,来解决此问题。 相信看完的你,一定会 ...

[C#] TestHttpPost(测试Http的POST方法)发布v1.2.1版,解决了部分网站无法打开的问题、忽略HTTPS证书检查

作者: zyl910 最近有读者反馈“部分网站打不开”。于是我修正了这一问题,发布了v1.2.1版。 一、变更说明 v1.2.1的变更说明—— 解决了部分网站无法打开的问题. 改进 TLS 的版本兼容性. 忽略HTTPS证书检查, 用于支持证书无效的网站. 二、使用介绍 用法与先前版本相同. 例如可 ...

dotnet Minimal APIs实现动态注册端点

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

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

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

WPF开发中重写Combox样式遇到的一些问题

博主头像 在实际的WPF开发过程中,你可能需要自定义ComBox的样式,重写的样式可能不出效果,背景色无法正常显示,或者是显示的内容出现白色遮罩,如以下的效果: 1.ComBox样式如下: <Style TargetType="TextBlock" x:Key="BaseTextBlockStyle"> <S ...

<1···456···50>