POCO = Plain Old CLR/CSharp Object

POCO = Plain Old CLR/CSharp Object

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

对比一下就清楚了:

POCO 非 POCO
继承 不继承任何框架类 继承 EntityObject、DataRecord 等
特性 不带任何 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 来绑定配置,两边都干净。

相关推荐
zwm2698888155 小时前
hd 3#负一西送风,能远程启不能远程停
c#
Ai-_Man5 小时前
Meta Muse还是不可以导出左侧所有对话,只能点进去单条内容导出,方法不对吗?
开发语言·人工智能·ai·小程序·c#·1024程序员节
2401_8858850414 小时前
国际语音C#接口怎么写?.NET环境下实现国际语音验证码批量下发
开发语言·c#·.net
淡海水20 小时前
07-03-源码-.NET Core GC标记与扫描
unity·c#·.netcore·gc
波力海苔夹心脆67521 小时前
C# string 字符串方法大全:判空、查找、截取、分割、替换一篇讲透
经验分享·c#·.net·字符串·string·入门教程
阿松爱学习1 天前
【Unity开发】Unity长截图功能实现
unity·c#·游戏引擎
_oP_i2 天前
Windows 11 家庭中文版 25H2
c#
unicrom_深圳市由你创科技2 天前
电池化成曲线MES追溯:关键点提取与验证
c#
老王IT2 天前
C#语言基础语法介绍
开发语言·c#
人丰2 天前
一次生产卡顿复盘:BI 数据抽取引发 PostgreSQL 长事务事故
数据库·c#