LINQ to SQL vs Entity Farmework

什麼是Entity Farmework

又稱為ADO.NET Entity Framework,是微軟根據於Asp.NET的基礎所提供的Object-Relational Mapping工具。

主要分成三層架構,由上而下依序為:

  1. 概念層:讓更上層的應用程式碼可以採用相同的開發語言,如物件導向的方式直接存取資料。
  2. 對應層:將概念層和儲存層進行對應連結。
  3. 儲存層:與下層實際儲存資料的DBMS(Database  Management System)進行連結。

Entity Framework存取資料的方式

請參考ADO.Net Entity Framework : (十八) 介紹 EF 提供的三種查詢方式

LINQ 不等於 LINQ to SQL

LINQ目前應用於以下五種狀況,而LINQ to SQL只是其中一種。

1. LINQ to Object
2. LINQ to DataSet
3. LINQ to SQL
4. LINQ to XML
5. LINQ to Entity(LINQ在Entity Framework的應用)

 

LINQ to SQL vs Entity Farmework

請參考:

  1. Difference between LINQ to SQL and Entity Framework
  2. What is the difference between Entity Framework and LINQ to SQL by .NET 4.0?
  3. Entity Framework vs LINQ to SQL
  4. When to use LINQ-to-SQL versus Entity Framework?
  5. LINQ to SQL vs. Entity Framework未來性之比較與釋疑

整體而言,較建議採用Entity Framework進行DB的存取。同時負責LINQ to SQL和Entity Framework的微軟Ado.net開發團隊也指出未來將以發展Entity Framework為主,其本身也較LINQ to SQL具備更多的功能。

參考資料

  1. Wiki-Entity Framework

廣告

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s