EF Code first 和 DDD (领域驱动设计研究)系列一
程序员文章站
2022-06-19 10:38:06
在上个公司工作时,开发公司产品的过程中,接触到了ef code first. 当时,整个产品的架构都是lead developer设计建立的,自己也不是特别理解,就赶鸭子上架跟着一起开发了。
现在回...
在上个公司工作时,开发公司产品的过程中,接触到了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)的框架