2009-12-23 55 views
0

爲什麼我們在ADO.NET提供更好的性能時使用LINQtoSQL? 結算這link它顯示比較報告爲什麼我應該使用LINQ to SQL當ADO.NET比這更好的工作

我正在尋找我的應用程序的速度/性能,而不是部署的簡易性。在離開LINQ to SQL並返回到我的OLD ADO.NET DataAcces Layer之前,還有什麼應該考慮的嗎?哪些用戶存儲過程?

回答

1

你多久執行一次2000個相同的查詢?這是一個純粹的綜合測試,它不顯示任何東西。

一般來說,在一個問題上投入更多硬件(爲SQL Server計算機添加更多廉價的RAM)要比花費數千美元和數百個工時試圖更容易(並且成本有效)消除

var dataReader = command.ExecuteReader(); 
while(dataReader.Read()) 
    var id = dataReader.GetInt32("ID"); 

授予的所有錯誤,有時人們需要求助於普通ADO.NET來提高性能,但這項工作應僅在探查說明了一個問題。

+0

@Shyju:定義「爛」。 – 2009-12-23 06:44:22

+0

@Anton:對不起,如果使用的話是錯誤的。我的意思是說它運行速度不快 – Shyju 2009-12-23 07:08:01

0

IMO ORM對於未分配的項目非常有用。有時您的客戶端使用共享服務器或甚至在另一個國家/地區的不同數據庫服務器。在這種情況下,我正在使用SP。但是ORM還有另一個好處。例如,當您更改表格結構時,在SP中,您必須更改所有從屬SP。但是在ORM中,經過一些更改後一切都可以。

1

與ADO.NET相比,ORM最大的優勢之一是初始開發速度(不是應用程序的速度)。使用ORM與使用ADO.NET進行維護相比,維護要簡單得多。 ORM提供了許多需要用ADO.NET手工編寫的功能。 Linq不適用於ADO.NET,Linq目前需要一個ORM。

由於性能原因,大多數ORM允許您在必要時下載到SQL/ADO.NET。

你如何選擇實現你的數據層應該完全取決於你的要求,而且這個問題的答案總是情境化的。不可能說ORM總是優於ADO.NET,反之亦然。

相關問題