探索ADO.NET Entity framework學習指導
作為一個學習ADO.NET Entity framework的新手來說,首先遇到的就是一些學習ADO.NET Entity framework的方法問題,一想學學經(jīng)典代碼,二想學學和自己興趣有關的相關框架。
以前聽說Enterprise Library 是在net framework library的基礎上 按企業(yè)應用的角度又抽象出一個更高一層的類庫,比如,涉及 數(shù)據(jù)訪問層。后來,自己在學習過程中,試圖按面向對象的方式建實體類的時候遇到困難,經(jīng)過學習,原來需要o/rm框架來解決。
于是,又發(fā)現(xiàn)了Linq to sql 和 ADO.NET Entity framework。但是,過多的框架反而搞亂了自己的方向。請問,這些框架之間是什么樣的關系,還是本就沒什么關系?是Enterprise Library在數(shù)據(jù)訪問相關的類的時候,用的Linq to sql 或 ADO.NET Entity framework嗎?
還是Enterprise Library 根本就是仍舊采用舊有的ado.net的數(shù)據(jù)訪問技術,sqlcommand dataadapter之類的實現(xiàn)的數(shù)據(jù)訪問層。哦 對了 我的主要關注點是三層架構中的 數(shù)據(jù)訪問層部分的技術。業(yè)務邏輯層 我想學的是通過實體類來實現(xiàn)的那種,而不是許多的datatable。#t#
ADO.NET Entity framework :相當于NHibernate,是微軟正式開發(fā)n久的一個全功能的ORM
Linq to sql :是簡化版的ORM,更加方便,沒有正常ORM的緩存功能、具有實際意義的繼承功能、映射也很不方便。但因為集成了Linq,所以顯得非常方便。我個人的看法是微軟在ADO.NET Entity framework久推不出的情況下,先弄出來的一個騙騙人的玩意兒,小項目可以用,復雜的大項目是要死人的。
Enterprise Library:是一個幫助類庫,不僅僅包括數(shù)據(jù)訪問方面的封裝,還有AOP等等方面的內容。我的看法是,像懶婆娘的裹腳,又臭又長,不要使用,有那時間學習它,還不如使用Linq to sql;使用Linq to sql,還不如等等ADO.NET Entity framework正式版;與其等ADO.NET Entity framework正式版,還不如自己封裝一個數(shù)據(jù)庫訪問層,不但自己自由控制代碼,而且花的時間又少,還學習了從類庫的角度看待問題的方式。