Entity Framework是微軟借鑒ORM思想開發(fā)自己的一個ORM框架。
ORM就是將數(shù)據(jù)庫表與實體對象(相當(dāng)于三層中的Model類)相互映射的一種思想。
最大的優(yōu)點就是非常方便的跨數(shù)據(jù)庫平臺。因為該技術(shù)不需要知道用的是什么數(shù)據(jù)庫,這也是.net中Linq能To任何對象的原因。
這門技術(shù)為什么可以跨平臺呢?是因為它只需要修改一下config文件就可以了,只要指定連接字符串,驅(qū)動程序,就可以根據(jù)不同數(shù)據(jù)庫生成不同的Sql語句,當(dāng)你的項目用戶用到不同的數(shù)據(jù)庫時,就不需要像修改SQL語句了。
Entity Framwork本質(zhì)還是ADO.NET操作,只是它將ADO.NET封裝的更加高級了而已。
學(xué)習(xí)Entity Framwork還是需要對linq var lambda表達(dá)式要比較熟悉了
好了不扯遠(yuǎn)了。Entity Framwork框架會顛覆我們傳統(tǒng)書寫ADO.NET的寫法。一開始可能會有些不適應(yīng)!適應(yīng)后~~~~開發(fā)實在是太爽了
1>使用Entity Framwork第一步呢是創(chuàng)建一個實體對象模型,在添加新項里面
2>然后選擇從數(shù)據(jù)庫生成實體。這里的空模型是可以通過先建模然后根據(jù)模型建數(shù)據(jù)庫的,他們之間可以相互映射,這也是ORM的思想
后面的設(shè)置看著設(shè)置就好了~~~太簡單了~傻瓜式的~微軟開發(fā)就是NB,把用戶都當(dāng)SB來看待
在這個選擇表的時候可以選擇需要映射的表,選擇了,就會根據(jù)表創(chuàng)建實體類。還有存儲過程,視圖,等都可以映射
設(shè)置好后會生成一個edmx的文件
展開后可以看到
好吧~準(zhǔn)備工作做好了~現(xiàn)在開始第一個操作~查詢
1.查詢
這就完了。方便快速吧~還有朋友說EF框架性能問題~其實也就多了一個生成Sql語句的過程~相對于三層~如果幾萬人訪問的項目隨便用。不用擔(dān)心,生成sql語句是非?斓膥數(shù)據(jù)庫方面和自己寫的ADO.NET沒什么太大的區(qū)別
2. 修改----這里修改的觀念和我們用三層的觀念差不多~先將數(shù)據(jù)查出來~然后在對變化的值進(jìn)行重新賦值,然后更新,案例我是用winform做的。
至于刪除,更新就更加簡單了,只要通過修改狀態(tài)就可以了,最后也是 上下文調(diào)用savechanges方法保持就可以了。
好吧,簡單分享就到這里了。雖然感覺有如此NB的技術(shù),但是建議還是先將基礎(chǔ)學(xué)好~不要一開始就學(xué)高級技術(shù)~到頭來只知其然不知所以然~也歡迎大家的評論于指導(dǎo)