LINQ to SQL適用之場景

 

MSDN上最近發表了一篇Elisa Flasko著的文章,比較了LINQ to SQL與LINQ to Entities適用的場景:
Introducing 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 SQL是支持對象繼承的,雖然只支持常見的三種繼承模式中的一種,LINQ to SQL也支持使用外部映射文件。

LINQ to Entities主要的應用場景針對的是需要非常靈活和更復雜的映射的場景,特別是在企業應用方面,而且需要訪問其他的數據庫系統。在這些場景中,數據表的結構與對象模型也許差別很大,而且應用開發人員往往並不擁有生成或修改數據庫數據定義的權利。

LINQ to Entities適用之場景

  • 想要開發針對微軟SQL Server或其他數據庫系統的應用
  • 想要定義領域模型,並以之爲持久層的基礎
  • 想要使用ORM方案,對象也許與數據庫數據定義有1:1對應關係,也許結構迥異
  • 想要使用支持單表繼承和其他儲存方案(每類一表,每具體類一表)的ORM方案
  • 想使用LINQ來編寫查詢,並且查詢可以在不同數據庫系統下工作
  • 想使用ORM,但需要性能非常好,可以通過存儲過程和編譯的查詢來優化性能

 

http://blog.joycode.com/saucer/archives/2008/02/09/114500.joy

發佈了32 篇原創文章 · 獲贊 3 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章