2009-07-31 27 views

回答

5

LINQ有超過大多數其他數據訪問方法的一分大優勢,巨大的時間:它圍繞「查詢中心表達式'隱喻,這意味着查詢可以像對象一樣傳遞並且被修改和修改,所有之前被執行(迭代)。實際上,這意味着代碼可以模塊化,更好地隔離。數據訪問存儲庫將返回'orders'查詢,然後請求處理管道中的中間過濾器將使用過濾器來裝飾此查詢,然後將其傳遞給顯示模塊,以添加排序和分頁等。最後,它的迭代,表達式已完全轉化爲非常具體的SELECT ... WHERE ... ORDER BY ... LIMIT ...(或另一個後端特定分頁,如ROW_NUMBER)。對於應用程序開發人員來說,這是無價的,沒有任何可行的選擇。這就是爲什麼我相信LINQ在這裏停留並且不會在兩年內消失。這絕對不僅僅是一種時尚。我特指LINQ作爲數據庫訪問方法。

單獨操縱查詢表達式對象的好處足以讓LINQ成爲一個獲勝的出價。添加到它可以操作的多種容器類型(XML,數組和集合,對象,SQL)以及它在所有這些不同技術中公開的統一接口,考慮到.NET 4.0中的並行處理更改透明地集成到數組和集合的LINQ處理中,而LINQ真的不會消失。當然,今天它有時會產生不可讀,性能差和不可破解的SQL,並且是每個專用DBA的噩夢。它會更好的。

4

Linq爲您的數據提供「一流」訪問。這意味着您的查詢現在是編程語言的一部分。

Linq提供了訪問各種數據對象的常用方法。例如,用於訪問數據庫查詢的相同語法也可用於訪問列表,數組和XML文件。

學習Linq將爲您提供對編程語言的更深入的理解。 Linq是各種語言創新的驅動程序,如擴展方法,匿名類型,lambda表達式,表達式樹,類型推斷和對象初始值設定項。

+0

我最喜歡第二個原因。 – JohnB 2010-07-27 17:56:04

0

這是一個真正的問題嗎?它不能用代碼片段來回答。這些討論類型的問題大多會很快關閉。

+3

...可能最好表達爲一條評論。 – 2009-07-31 16:58:07

+1

@羅伯特哈維,可能是最好的一個評論,但其內容是真實的 – 2009-07-31 17:31:43

2

我認爲一個更好的問題是爲什麼在查詢數據庫時用LINQ替換SQL? 「認識你的敵人」?

+1

在Visual Studio中的類型安全智能感知,而不是傳遞你的大塊文本(SQL查詢)沒有類型檢查和沒有任何安全任何(吹只在運行時才能生產.....) – 2009-07-31 17:00:59

+1

@mark_s:雖然還有其他方法可以做到這一點。例如,強類型數據集。 – 2009-07-31 17:03:14

1

「認識你的敵人」?

OTOH,出於興趣。我正在學習更多關於XMl,XSLT,XSD等的內容,因爲我可以看到他們作爲數據庫開發人員的用途。

0

我想的衆多原因之一,爲什麼一個可以考慮的LINQ,因爲LINQ是很大的提高生產力和保護

0

這個問題也提示我問,如果LINQ變得非常流行,服務器端開發人員會知道SQL以及他們的前任嗎?

相關問題