EF Code first 和 DDD (领域驱动设计研究)系列一
在上个公司工作时,开发公司产品的过程中,接触到了EF Code first. 当时,整个产品的架构都是Lead developer设计建立的,自己也不是特别理解,就赶鸭子上架跟着一起开发了。
现在回过头来看,加上自己研究读了一些这方面技术文章,了解的也更深了。故记录如下:
首先需要了解的一些相关的概念:
POCO
POCO (Plain Old CLR Object) 的意思就是 "Plain Old C# Object". 它的内在含义是指那些没有从任何类继承,也没有实现任何接口,更没有被其他框架侵入的对象.
PO
PO (Persistant object 持久对象)是指持久对象. 持久对象必须对应于数据库中的entity, 所以和POCO有区别。 POCO对象是由new创建,由GC回收。 但是持久对象是insert数据库创建,由数据库delete删除. 也就是说,持久对象的生命周期和数据库密切相关。另外,持久对象往往只能存在一个数据库Connection之中,Connection关闭之后,持久对象就不存在了。 而POCO只要不被GC回收,总是存在的.
ORM
ORM (Object/Relational Mapping)对象关系映射, 主要是把数据库中的关系数据映射成为程序中的对象.
Entity Framework
Entity Framework的全称是ADO.NET Entity Framework, 是微软开发的基于ADO.NET的ORM(Object/Relational Mapping)的框架
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律