EF Code first 和 DDD (领域驱动设计研究)系列一
2017-08-04 12:46
573 查看
在上个公司工作时,开发公司产品的过程中,接触到了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)的框架
现在回过头来看,加上自己研究读了一些这方面技术文章,了解的也更深了。故记录如下:
首先需要了解的一些相关的概念:
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)的框架
相关文章推荐
- [.NET领域驱动设计实战系列]专题一:前期准备之EF CodeFirst
- [.NET领域驱动设计实战系列]专题一:前期准备之EF CodeFirst
- [.NET领域驱动设计实战系列]专题一:前期准备之EF CodeFirst
- C#进阶系列——DDD领域驱动设计初探(五):AutoMapper使用
- 专注于领域驱动设计的研究与实践系列转载
- [.NET领域驱动设计实战系列]专题六:DDD实践案例:网上书店订单功能的实现
- [.NET领域驱动设计实战系列]专题七:DDD实践案例:引入事件驱动与中间件机制来实现后台管理功能
- [.NET领域驱动设计实战系列]专题八:DDD案例:网上书店分布式消息队列和分布式缓存的实现
- C#进阶系列——DDD领域驱动设计初探(二):仓储Repository(上)
- [.NET领域驱动设计实战系列]专题八:DDD案例:网上书店分布式消息队列和分布式缓存的实现
- [.NET领域驱动设计实战系列]专题九:DDD案例:网上书店AOP和站点地图的实现
- [.NET领域驱动设计实战系列]专题十:DDD扩展内容:全面剖析CQRS模式实现
- C#进阶系列——DDD领域驱动设计初探(五):AutoMapper使用
- DDD 领域驱动设计-Value Object(值对象)如何使用 EF 进行正确映射
- [.NET领域驱动设计实战系列]专题七:DDD实践案例:引入事件驱动与中间件机制来实现后台管理功能
- C#进阶系列——DDD领域驱动设计初探(六):领域服务
- [.NET领域驱动设计实战系列]专题九:DDD案例:网上书店AOP和站点地图的实现
- C#进阶系列——DDD领域驱动设计初探(六):领域服务
- C#进阶系列——DDD领域驱动设计初探(三):仓储Repository(下)
- Byteart Retail V2 - 基于Entity Framework Code First的领域驱动设计实践案例