EntityFramework6 快速入門教程
不得不說EF在國內實在是過小衆,相關的技術文章真實屈指可數,並且不少文章都很舊了,裏面使用的版本跟現在的EF6差異仍是比較大。我剛開始弄這個的時候真是繞了很多彎路。html
學習EF仍是須要一些條件,使用EF並不意味着你就能夠徹底不跟數據庫打交道了,要學好EF,數據庫中的什麼主鍵、外鍵、索引、SQL等你仍是要懂,另外EF中將大量使用LINQ來進行數據查詢,數據模型中還將涉及到特性與泛型,因此對於C#的基礎要求還比較高。程序員
在我看來EF並不適合初學者使用,雖然微軟最初設計EF的初衷就是讓程序員擺脫SQL,即便不懂SQL也能完成對數據庫的操做,不過從最終的效果來看,EF不只沒有使得問題變得簡單反倒更復雜了。爲了避免寫SQL,微軟建立了一種和SQL長得很是像的LINQ,爲了能讓EF建立數據表,微軟又將數據庫中的各類約束、數據類型封裝成了一個個特性。因此若是沒有良好的數據庫基礎你是根本學不了的。mongodb
因爲EF是經過代碼來生成SQL供數據庫執行,因此無論怎麼優化,相對於原生SQL,性能確定都比較差。EF在中小型的項目中可能還行,在大型項目,特別是高併發的項目中使用EF,我估計用不了多久數據庫就會崩潰。數據庫
以上說了EF的那麼多的不是,是否是EF一點用處都沒有了呢?EF最大的優勢就是快,這個快是指開發迅速,只要你熟悉了EF,只須要寫不多的代碼,就能完成之前須要寫不少行代碼才能完成的數據庫交互。因此使用EF來應付客戶就再適合不過了,若是你要我在我本身的項目中使用,我是絕對不會用這東西的。併發
PS:若是想不犧牲性能又要保持EF開發的快捷,能夠嘗試一下現在很火的NOSQL數據庫,例如Mongodb。我以爲現在NOSQL數據庫的出現,使得EF的這類型的框架,真的沒有更多存在的價值了。框架
書籍推薦
現在關於EF6的書真是少,只有一本叫Entity Framework 6 Recipes。不過沒有中文版,若是想系統學習的話建議看看這位仁兄的文章《Entity Framework 6 Recipes》中文翻譯系列。高併發