一項新技術推出時最常被問到的問題,莫過於為什麼我們需要它?很殘酷的事實是,在大部份的情形下,我們還真的不需要。同樣的,EF 也是…
較好的排版 :http://www.kangting.tw/2010/02/why-entity-framework-sql.html
可以這麼說,絕大部份的應用程式功能,都是被發展出來協助資料的分析處理,而資料儲存在資料庫裏面,如何讓應用程式與資料庫溝通,就變成了非常重要的議題,因此從程式語言到開發平台,廠商不斷的提出各種解決方案,希望讓程式開發設計人員,能夠有更好的方法處理這一方面的問題。
而當資料量愈來愈大,要處理的內容愈來愈複雜,舊的方法在一段時間不敷使用之後,總是有新的方案被拱出來,而 Entity Framework(以下簡稱 EF)正是目前 .NET 平台的最新資料存取技術。
一項新技術推出時最常被問到的問題,莫過於為什麼我們需要它?很殘酷的事實是,在大部份的情形下,我們還真的不需要。你不會需要 Windows 7,不會需要 Silverlight 、iPhone ,更不會需要 iPad ,但是總有一天,你會擁有並且使用其中一些軟體或是產品,或是你早就已經有了,甚至在用了,但是平心而論,我們活得好不好,與有沒有這些東西沒什麼關係。
好了,現在換個角度想,所謂的需不需要,其實只是定義上的問題,當你想要讓同樣的工作變得更為簡單,處理同樣一件事的過程變得更為舒服,評估不斷推陳出新的技術就變得非重要,甚至某些好技術將變得非擁抱不可。
相信這幾年的 .NET 開發人員,對於追逐技術已經習以為常,今年的 .NET 4.0 ,又將會是一番狂轟猛炸, EF 絕對是其中一項,但是現在問題來了,已經相當成熟好用的 ADO.NET 在面前,我們要 EF 作什麼?
簡單的說,EF 最主要的目標,是將程式開發人員從處理資料的泥淖中抽離出來,不再直接面對資料庫,不再處理 SQL ,取而代之的,是透過程式物件操作資料庫,透過程式語言的原生功能直接存取資料,進行資料處理。
當應用程式複雜到一定的程度,相信你我都同意,沉重的 SQL 維護工作將會是團隊中每個開發人員的惡夢, EF 與其它資料存取技術最大的差異,在於它的重點並非取代其它資料存取技術,簡化底層資料的存取操作,反之,它的重心在於徹底改變開發人員撰寫資料存取邏輯程式碼的方式,簡化相關的工作,讓開發人員專心在應用程式邏輯的撰寫而非資料的存取。
EF 的概念並不難,在你開始進入之間,瞭解本文所討論的概念就可以了,接下來我們會找時間從最簡單的實作開始逐一討論 EF 的應用。
當然,EF 之前,熟悉 LINQ 是非常重要的事, EF 依賴 LINQ 執行資料搜尋作業,不懂 LINQ ,接下來就不好玩了,所以,你知道我要說什麼了吧,「LINQ 最佳實務講座」所剩不多,欲購從速,徹底打好 LINQ 基礎,這是你唯一可以考慮的中文書了。XD