標籤:
學習MVC我做了一些筆記,在學習MVC之前呢,我們需要先瞭解和MVC一起使用的小夥伴們
做事情要抓重點:
為什麼要學MVC
MVC的好處
MVC如何使用,MVC的特點
MVC的原理
這種MVC模式能否擴充
-》ORM 架構
1.從廣義上理解:ORM架構 物件導向的物件模型和關係型資料庫的資料結構之間的轉換
從狹義上理解:ORM可以被認為是,基於關係型資料庫的資料存放區,實現一個虛擬物件導向的資料提供者。
-》EF架構(Entity Framework)
一種ORM架構→工作機制:<1>追蹤實體 <2>產生sql語句 <3>調用ado.net執行資料庫操作
csdl:概念結構定義語言
ssdl:存放結構定義語言(邏輯模型)
msl:映射架構語言
簡稱:EDM .edmx 本質就是一個xml檔案
EF通過EntityClient(基於Provider模式),與ADO.NET 2.0相似。向EDM發送EntitySql操作Entity,ADO.NET 2.0是向資料庫發送sql。所有發往EDM的操作都要經過EntityClient,包括Linq to Entity
優缺點:
優點:可以使用XML進行定義,可以動態添加對象映射到資料庫中(產生DDL-Data Define Language),改動資料庫不會影響bll商務邏輯層
缺點:EF第一次啟動並執行時候,需要對EDM進行分析讀取,導致有些慢,以後不會慢
提供從關聯式資料庫構架到對象的映射
消極式載入機制(如果啟用屬性,啟用消極式載入)
優點:用的什麼資料才去查,有利於效能
缺點:資料了太大的時候一下載入到記憶體中,記憶體會爆掉(使用foreach的時候)
外鍵太多會影響效能(查主表的時候,如果用到子表會把子表查出來),不要訪問子表太多
EF上下文維護有三種方式(避免多個上下文,避免髒資料):
<1>全域唯一,只用一個上下文,缺點:EF有緩衝,當資料漸漸增多時,緩衝會吃掉記憶體,pass掉
<2>在web開發中,一次請求中用一個執行個體,請求解除,釋放掉
<3>線程唯一,一個線程有一個上下文執行個體
補充:DataSet類非常類似於資料庫的結構,它包含DataTable,DataRow,DataColumn和DataRelation類,而不提供對象支援
MVC系列隨筆一