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