最近接觸了entity framework, 趁熱寫乙個學習筆記,總結一下這幾天的心得。
沿用習慣的問題引導思路,第乙個問題:為什麼要使用entity framework(以下簡稱ef)?ef是ms在.net 3.5中引入的,雖然在3.5中顯得不倫不類,不過在4.0中得到了進一步完善,展示出了其強大地功能。
經常參與資料庫相關開發的人都知道,在程式的開發程序中,資料庫的變動的應用程式的變動都是一件開銷巨大地事情,為了減少因為資料庫遷移和業務邏輯變動的開銷,乙個很自然的想法就是用乙個中間層將這兩方面的變動隔離,將兩部分需要改動的地方用乙個檔案集中起來,這樣由於一方變動而引起的另一方開銷將全部集中於乙個有限的範圍。hibernat即是基於這一理念,而em也是這一理念的產物。em由三部分組成,對應於物件模型的conceptual model,對應於關係模型的storage model,以及兩個model之間的對映。針對這兩個部分,分別衍生出了,model-first, data-base first和code-first三種方法,有人說code-first方法最佳,這其實是站在程式設計師的角度,究竟用哪一種方法應該取決於具體情況,取決於資料庫和業務邏輯相對靜態的一方。
引入em的好處是顯而易見的,它使得程式設計師用oo的方式運算元據庫,而不是重複一大堆的connection,使用conceptualmodel使得**的可維護性也提高了,再也不用去一大堆字串中尋找錯誤。只要生成了model,運算元據庫是一件很簡單的事情。
例如,從northwind資料庫查詢unitprice。
using (northwindentities northwindcontext = new
northwindentities())
var pricequery = from p in northwindcontext.products where p.categoryid == selectcategory select p.unitprice;
可以結合linq簡化**,使用拉姆達表示式替換where子句。
這些特性都使得em能夠大幅度地提高開發效率。
Entity Framework 架構簡介
當微軟的wcf 大行其道,通用資料訪問模型entity framework卻稍遜一籌,有很多需要完善和進步的地方,本文對entity framework 架構做一下簡介。實體框架 entitry framework 以下簡稱ef 看起來像乙個有趣的技術,更強大,比linq to sql 更先進。這兩...
entity framework 批量刪除
以前用sql寫批量刪除的時候,感覺挺利索的,簡潔地寫了 public bool delectusersuggest string addsql 然後在頁面層直接呼叫 現在用entity framework,感覺有點麻煩不能直接delete,還要先把資料查出來,以下是主要 1 先查出實體 region...
Entity Framework 動態查詢
不想多說什麼直接說 region 搜尋並分頁 ljy 傳入搜尋條件,當前頁碼,每頁的顯示的條數,資料的總數 輸出引數 三個引數,返回 商實體 搜尋條件 當前頁碼 每頁的顯示的條數 資料的總數 public iqueryable endregion 在頁面呼叫時如果通過時間來查詢,請記住一定要這樣寫 ...