2010-09-03 82 views

回答

2

LINQ to SQL將沒有更多的未來發展。所以EF是未來的發展方向。

Entity Framework vs LINQ to SQL(這應該解釋一下,你想知道什麼)

0

好了,兩個主要區別是:

1)EF可以針對多個數據庫引擎,包括Oracle和MySQL。不只是MS SQL Server。
2)你可以做所謂的「代碼優先」模式開發。基本上你創建你的對象模型,並且一些提示,EF將爲你生成模式。

對我來說,Linq to Sql很適合快速原型和簡單的CRUD場景。任何更先進或企業都會使用EF4。 (或者至少這就是MS希望我們相信的東西:)在Linq和SQL的生產中,我很幸運,因爲它值得。

0

EF4基本上將一大堆OO內容添加到LINQ-to-SQL中不存在的映射中,如豐富的對象繼承模型。我自己的看法是,沒有一件是爲了優秀的設計所必需的,而且我還沒有在我自己的工作中遇到過一種情況,以保證EF4帶來的複雜性。儘管如此,微軟已經不推薦使用LINQ到SQL,並且不會繼續開發它,所以它最終將在功能和效率方面落後於EF4(如果還沒有的話)。所以務實的選擇很簡單:去EF4。

0

在嘗試兩種方式並花了一週時間從linq移植到sql項目後,我可以說我真的更喜歡Linq到SQL。主要原因是EF對LINQ查詢中可以使用的函數有更多的限制。在EF中,我不得不將我的linq表達式轉換爲列表,以便能夠進一步操縱它們。對不起,我不記得任何例子,它已經過了幾個月,因爲我這樣做...

EF的一個真正的優勢是與WCF數據服務的易用性。如果你正在開發一個應該有一個RESTful API的網站,非常方便。

另外,即使Linq to SQL已經相當成熟,但它確實是一種垂死的技術。它不會得到任何重要的更新,這使得更難以針對新項目提交Linq To SQL。