初步瞭解EF,初步瞭解英文
EF:EntityFrameWork,是一種架構(所謂的架構可以理解為直接的使用別人已經寫好的代碼),而且這種架構是一種ORM架構(Object/Relation Mapping)。
首先說一下現階段我自己是如何理解EF的,EF是利用物件導向的思想對資料庫進行操作,它可以將資料庫中的表產生一個實體物件,而表中的欄位就對應的產生實體的屬性,這樣在程式中操作資料庫是就可以直接利用物件導向的思想編寫代碼這樣就可以不使用SQL語句。這樣說的話就是通過用物件導向的思想通過EF操作資料庫,那麼這樣和我們之前學過的使用ADO.net操作資料庫又有什麼聯絡呢?
首先來看一張圖,我們會發現EF和ADO.net都是存在的,EF並沒有代替了ADO.net直接的來操作資料庫,實際上是我們在應用程式中通過EF可以利用物件導向的思想操作資料庫,而EF還是要產生SQL語句最後通過ADO.net來操作資料庫。
那麼在我們的資料庫中會有很多的表,每個表都會有很多的欄位,那EF是在產生類的時候是如何將表和實體物件對應起來的呢?當我們在VS中建立了“ADO.net實體資料模型”是會產生副檔名為.edmx的檔案,我們可以將它的開啟檔案改為xml形式的,簡化之後我們可以得到,在XML檔案中會分別的有表示資料庫、實體物件、及資料庫和實體物件映射關係的語句,通過XML檔案可以對資料庫表和實體物件進行映射。
在最後產生的.edmx檔案中會後一個副檔名.tt的這個是傳說中的t4模板,具體的產生的程式碼都在t4模板中,在這裡面做的一些修改可以直接的反映到產生的實體物件中。
如上的這段代碼是t4模板中用來產生屬性的,其中的注釋“//產生屬性”是我自己添加的,最後的反應在具體的產生的類中是這樣的,可以t4模板可以控制類產生。
小結
初次接觸EF對它有一個大概的瞭解,它是在ADO.net之後出現的,更加符合物件導向的思想。對它有一個初步瞭解之後就要知道具體如何時候到底有什麼好處,所以還要進一步的學習。
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。