1. LINQ  TO SQL 和EF 特點:  LINQ TO SQL和Entity Framework都是一種包含LINQ功能的ORM 也就是所謂的關系對象的映射。其中包括的有DBFrist  Code Frist    ModeL  Frist   三種中方式 來進行和數(shù)據(jù)庫之間的訪問。只是形式不同而已本質沒有什么區(qū)別。都是ORM  之間的轉化。最終都是來進行訪問底層的數(shù)據(jù)庫的對象 和服務。

簡單來說LINQ是為了滿足不知道怎么操作數(shù)據(jù)庫的程序員開發(fā)設計的,LinQ 可以讓他們以一種面向數(shù)據(jù)對象的方式來思考,及持久化他們的數(shù)據(jù)。 當然最后來進行訪問數(shù)據(jù)庫的無論是Oracle SQL Server  MySQL   MongoDB   DB2  等等 都是最終生成 SQL 語句來進行訪問數(shù)據(jù)庫的 和傳統(tǒng)的ADO.NET 直接來訪問數(shù)據(jù)庫沒有什么直接的區(qū)別,只是,MicroSoft  將其 CRUD 的一些方法進行封裝了而已,讓開發(fā)使用起來更加的方便  開發(fā)的速度更加的快速 ,更加的專注于核心的業(yè)務的開發(fā)的開發(fā) ,而不是在為這些簡單的操作而耽擱太多的時間??梢宰岄_發(fā)節(jié)省更多的開發(fā)的時間 去做更多的事情。

當然你使用SQL Server  中的SQL Profile  來進行 查看 其中生成的SQL , 那么問題來了 如果Oracle  MySQL  DB2   MongoDB   如何進行查看生成的SQL 語句 了。那么這個時候你需要進行 使用nuGet 來進行添加一個第三方的程序集。MiniProfiler.dll 來進行查看生成的生成的SQL 語句  當然關于如何使用 可以進行參考 (http://www.cnblogs.com/jiekzou/p/6374726.html) 博客上面具有介紹我就不一一的說了。其中 無論是LINQ TO SQL  還是 EF 最終的形式 都是通過DBContent  來進行訪問數(shù)據(jù)庫。

LINQ  TO  SQL 和Entity Framework 兩者的本質的區(qū)別:

EF對數(shù)據(jù)庫架構和我們查詢的中實現(xiàn)更好的解耦。使用EF,我們查詢的對象不再是完全對應數(shù)據(jù)庫架構的C#類,而是更高層的抽象:Entity Data Model。這為我們提供了額外的靈活性其中在性能和簡單性上面也會有所損失。 這個是必須的。 畢竟在解析中性能以及功能性都是有所損失的。

優(yōu)點LINQ TO SQL,是一個輕量級的ORM框架,為Microsoft SQL Server數(shù)據(jù)庫提供快速的應用程序開發(fā),其優(yōu)點是易于使用、簡單、高性能。Entity Framework,為創(chuàng)建數(shù)據(jù)庫架構和實體類之間的映射提供了更好的靈活性,它還通過提供程序支持除了SQL Server之外的第三方數(shù)據(jù)庫。 例如其中的MySQL  Oracle  MongoDB  DB 2  等等 都是可以映射以及訪問的。

EF  6.0 經過Microsoft 的改進性能相對于EF 4.0 確實提升了不少 其中對于CRUD 的訪問。這意味著我們在系列文章中的LINQ  TO  DB 查詢可以同時適用于EF 4.0 以下的版本和L2S。而且,這也使得LINQ TO SQL  成為我們學習使用LINQ查詢數(shù)據(jù)庫的理想技術, 因為保持著對象和關系之間的映射的性 那么 在使用變得的非常的簡單 以及靈活性,并且我們學習到的查詢原則和技術同樣適用于EF。

延伸閱讀

學習是年輕人改變自己的最好方式-Java培訓,做最負責任的教育,學習改變命運,軟件學習,再就業(yè),大學生如何就業(yè),幫大學生找到好工作,lphotoshop培訓,電腦培訓,電腦維修培訓,移動軟件開發(fā)培訓,網站設計培訓,網站建設培訓學習是年輕人改變自己的最好方式