POCO = Plain Old CLR/CSharp Object

POCO = Plain Old CLR/CSharp Object

直译就是"普通的、旧式的 C# 对象"。

对比一下就清楚了:

POCO 非 POCO
继承 不继承任何框架类 继承 EntityObjectDataRecord
特性 不带任何 ORM/序列化特性 [DataContract][JsonProperty] 满天飞
依赖 独立,不引用任何外部程序集 依赖 EF、NHibernate、Dapper 等
本质 就是一个普通的类,用来装数据 被框架绑架的"数据容器"
复制代码
// ✅ POCO ------ 就是普通 C# 类
public class ResilienceOptions
{
    public bool EnableResilience { get; set; } = true;
    public int RetryCount { get; set; } = 3;
}

// ❌ 非 POCO ------ 被框架绑架
public class Product : EntityObject   // 依赖 EF
{
    [Key]
    public int Id { get; set; }
}

所以"ResilienceOptions 使用 POCO + IOptions 模式"的意思就是:它就是一个普普通通的配置类,不绑定任何 ORM 或框架,用 Microsoft.Extensions.Options 来绑定配置,两边都干净。

相关推荐
凯丨8 小时前
AI 蠕虫来了:恶意文档如何通过 Copilot for Word 自我传播?
人工智能·c#·copilot
Aaron - Wistron9 小时前
Web API C# (Furion版)带 单元测试
开发语言·后端·c#
骊城英雄10 小时前
基于C#+avalonia ui实现的跨平台点胶机灌胶监控控制上位机软件
开发语言·ui·c#
吾儿良辰10 小时前
一个被BCL遗忘的高性能集合:C# CircularBuffer<T>深度解析
开发语言·windows·c#
哎呦喂我去去去11 小时前
C#实现屏幕墙:同时监控多个电脑桌面(支持Windows、信创Linux、银河麒麟、统信UOS)
linux·windows·c#
caishenzhibiao12 小时前
期货先行者主图 同花顺期货通指标
java·c语言·c#
库拉库拉里12 小时前
Word文档的标题总是自动出现首行缩进怎么办?
c#·word·xhtml
在世修行12 小时前
从零打造 C# 工业视觉检测系统(一):项目全景与架构设计
c#·视觉检测
牡丹雅忻114 小时前
AES 加密模式演进:从 ECB、CBC 到 GCM 的 C# 深度实践
java·开发语言·c#
脚踏实地皮皮晨14 小时前
002002002_DepandencyObject类2
开发语言·windows·算法·c#·visual studio