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 来绑定配置,两边都干净。

相关推荐
fujisheng6614 小时前
FUI 绑定生命周期实战:可靠解绑、失败回滚与列表项换绑
c#·unity3d
爱吃苹果的日记本18 小时前
数据结构第一课
c语言·数据结构·数据库·学习·c#
唐青枫19 小时前
C#.NET PInvoke 深入解析:封送、内存布局与原生互操作实战
c#·.net
软件黑马王子1 天前
24.Editor 资源加载:主要作用和基本原理
开发语言·前端框架·c#
慧都小妮子1 天前
用 Python 批量把 PDF 参考文献排成 MLA 格式:Spire.Doc for Python 实战
python·pdf·c#·spire.doc·mla格式·参考文献排版·pdf批量处理
UIU1141 天前
补码运算与整数溢出(上
学习·c#·补码·补码运算
曹牧1 天前
C#:模态对话框
开发语言·c#
咕白m6251 天前
C# 如何限制 PDF 复制、打印权限?
c#·.net
yume_sibai1 天前
正则表达式完全指南(基础语法 + 实战应用 + 性能优化 + 最佳实践)
开发语言·正则表达式·c#
Nil2081 天前
leetcode 79单词搜索
开发语言·c#