1. 程式人生 > >EF Code first 和 DDD (領域驅動設計研究)系列一

EF Code first 和 DDD (領域驅動設計研究)系列一

發的 tex bsp cti 設計 ron 映射 developer devel

在上個公司工作時,開發公司產品的過程中,接觸到了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)的框架

EF Code first 和 DDD (領域驅動設計研究)系列一