實體框架與LINQ to SQL

.net entity-framework linq-to-sql

現在已經發布了.NET v3.5 SP1(以及VS2008 SP1),現在我們可以訪問.NET實體框架了。

我的問題是這個。在嘗試使用Entity Framework和LINQ to SQL作為ORM時,有什麼區別?

我理解它的方式,實體框架(當與LINQ to Entities一起使用時)是LINQ to SQL的“大哥”?如果是這種情況 - 它有什麼優勢?它能做什麼LINQ to SQL本身無法做到的?

一般承認的答案

LINQ to SQL僅支持Microsoft SQL Server中可用的數據庫表,視圖,Sproc和函數的1對1映射。這是一個很好的API,用於快速數據訪問構建到相對精心設計的SQL Server數據庫。 LINQ2SQL最初是與C#3.0和.Net Framework 3.5一起發布的。

LINQ to Entities(ADO.Net實體框架)是一種ORM(對象關係映射器)API,它允許廣泛定義對象域模型及其與許多不同ADO.Net數據提供者的關係。因此,您可以混合和匹配許多不同的數據庫供應商,應用程序服務器或協議,以設計由各種表,源,服務等構建的對象的聚合混搭.ADO.Net Framework隨之發布.Net Framework 3.5 SP1。

這是關於MSDN的一篇很好的介紹性文章: 介紹LINQ到關係數據


熱門答案

我認為快速而骯髒的答案就是這樣

  • LINQ to SQL是一種快速簡便的方法。這意味著如果你正在做一些更小的事情,你會更快,更快地交付。
  • 實體框架是一種全面,無拘無束的方式。這意味著如果你正在做更大的事情,你會花更多時間在前面,發展得更慢,並且具有更大的靈活性。


許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因