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