sqltolinq工具
⑴ 請問.net為什麼拋棄了linq to sql EF與linq to sql 相比較,前者有哪些優勢
說是拋棄也不太對,因為這部分被合並在Linq to Entity裡面了。
ADO.Net Entity Framework 與Linq to SQL的比較和適用場景:
MSDN上最近發表了一篇Elisa Flasko著的文章,比較了LINQ to SQL與LINQ to Entities適用的場景:
Introcing LINQ to Relational Data
http://msdn2.microsoft.com/en-us/library/cc161164.aspx
作者指出,LINQ to SQL主要的應用場景是針對微軟SQL Server資料庫的快速開發,這些應用的對象模型與資料庫中數據定義的結構間非常類似,幾乎有一一對應的映射關系,這樣你可以使用LINQ to SQL把一些數據表直接映射到.NET類,數據欄位映射到的相應的.NET類的屬性上。作者總結如下:
LINQ to SQL適用之場景
.想使用ORM方案,而且資料庫數據定義與對象模型是1:1對應關系
. 想使用ORM方案,而且對象繼承結構儲存在單一數據表中(單表繼承)
. 想使用原始CLR類,而不是使用生成的類或需要從某個基類繼承而來,或者需要實現某個介面
. 想使用LINQ來編寫查詢
. 想使用ORM,但需要性能非常好,可以通過存儲過程和編譯的查詢來優化性能
LINQ to Entities主要的應用場景針對的是需要非常靈活和更復雜的映射的場景,特別是在企業應用方面,而且需要訪問其他的資料庫系統。在這些場景中,數據表的結構與對象模型也許差別很大,而且應用開發人員往往並不擁有生成或修改資料庫數據定義的權利。
LINQ to Entities適用之場景 :
.想要開發針對微軟SQL Server或其他資料庫系統的應用
. 想要定義領域模型,並以之為持久層的基礎
. 想要使用ORM方案,對象也許與資料庫數據定義有1:1對應關系,也許結構迥異
. 想要使用支持單表繼承和其他儲存方案(每類一表,每具體類一表)的ORM方案
. 想使用LINQ來編寫查詢,並且查詢可以在不同資料庫系統下工作
. 想使用ORM,但需要性能非常好,可以通過存儲過程和編譯的查詢來優化性能