我很想知道爲什麼數據庫人員應該學習LINQ。它如何有用。爲什麼數據庫開發人員會使用LINQ
回答
LINQ有超過大多數其他數據訪問方法的一分大優勢,巨大的時間:它圍繞「查詢中心表達式'隱喻,這意味着查詢可以像對象一樣傳遞並且被修改和修改,所有在之前被執行(迭代)。實際上,這意味着代碼可以模塊化,更好地隔離。數據訪問存儲庫將返回'orders'查詢,然後請求處理管道中的中間過濾器將使用過濾器來裝飾此查詢,然後將其傳遞給顯示模塊,以添加排序和分頁等。最後,它的迭代,表達式已完全轉化爲非常具體的SELECT ... WHERE ... ORDER BY ... LIMIT ...
(或另一個後端特定分頁,如ROW_NUMBER)。對於應用程序開發人員來說,這是無價的,沒有任何可行的選擇。這就是爲什麼我相信LINQ在這裏停留並且不會在兩年內消失。這絕對不僅僅是一種時尚。我特指LINQ作爲數據庫訪問方法。
單獨操縱查詢表達式對象的好處足以讓LINQ成爲一個獲勝的出價。添加到它可以操作的多種容器類型(XML,數組和集合,對象,SQL)以及它在所有這些不同技術中公開的統一接口,考慮到.NET 4.0中的並行處理更改透明地集成到數組和集合的LINQ處理中,而LINQ真的不會消失。當然,今天它有時會產生不可讀,性能差和不可破解的SQL,並且是每個專用DBA的噩夢。它會更好的。
Linq爲您的數據提供「一流」訪問。這意味着您的查詢現在是編程語言的一部分。
Linq提供了訪問各種數據對象的常用方法。例如,用於訪問數據庫查詢的相同語法也可用於訪問列表,數組和XML文件。
學習Linq將爲您提供對編程語言的更深入的理解。 Linq是各種語言創新的驅動程序,如擴展方法,匿名類型,lambda表達式,表達式樹,類型推斷和對象初始值設定項。
我最喜歡第二個原因。 – JohnB 2010-07-27 17:56:04
這是一個真正的問題嗎?它不能用代碼片段來回答。這些討論類型的問題大多會很快關閉。
...可能最好表達爲一條評論。 – 2009-07-31 16:58:07
@羅伯特哈維,可能是最好的一個評論,但其內容是真實的 – 2009-07-31 17:31:43
我認爲一個更好的問題是爲什麼在查詢數據庫時用LINQ替換SQL? 「認識你的敵人」?
在Visual Studio中的類型安全智能感知,而不是傳遞你的大塊文本(SQL查詢)沒有類型檢查和沒有任何安全任何(吹只在運行時才能生產.....) – 2009-07-31 17:00:59
@mark_s:雖然還有其他方法可以做到這一點。例如,強類型數據集。 – 2009-07-31 17:03:14
「認識你的敵人」?
OTOH,出於興趣。我正在學習更多關於XMl,XSLT,XSD等的內容,因爲我可以看到他們作爲數據庫開發人員的用途。
我想的衆多原因之一,爲什麼一個可以考慮的LINQ,因爲LINQ是很大的提高生產力和保護
這個問題也提示我問,如果LINQ變得非常流行,服務器端開發人員會知道SQL以及他們的前任嗎?
- 1. 爲什麼Web開發人員不這樣做與數據庫?
- 2. 爲什麼開發人員會使用Silverlight?
- 3. 爲什麼PHP開發人員比.NET開發人員便宜?
- 4. 爲什麼開發人員使用OAuth來使用Google API?
- 5. 新數據庫sql開發人員
- 6. Oracle數據庫開發人員副本
- 7. 爲什麼使用Dart作爲前端開發人員?
- 8. 開發人員應在開發人員數據庫實例中擁有什麼權限
- 9. 什麼是一本介紹數據庫爲web開發人員的好書
- 10. (Java)開發人員爲什麼會這樣做?
- 11. 爲什麼Oracle SQL開發人員不會啓動調試器?
- 12. 爲什麼開發人員使用href等於javascript?
- 13. 爲什麼網頁開發人員總是使用「FOO」?
- 14. 使用Access或Microsoft SQL數據庫連接Oracle開發人員
- 15. 會員數據庫有什麼更好?
- 16. 更改爲SQL開發人員中的其他數據庫
- 17. 爲數據庫開發人員解釋MVVM,MVC,MVP
- 18. 使MySQL數據庫可供非開發人員閱讀
- 19. 爲Windows開發人員構建開源庫DLL的最佳方式是什麼?
- 20. 爲什麼數據庫設計人員不會使IDENTITY列從min值而不是1開始?
- 21. 啓用Access數據庫的開發人員視圖?
- 22. 適用於Oracle數據庫的開發人員沙箱
- 23. 適用於數據庫開發人員的VS:查找表
- 24. 面向用戶和開發人員的數據庫設計
- 25. 爲什麼私人會員繼承?
- 26. 如何成爲ASP.NET/Silverlight開發人員的Sharepoint開發人員?
- 27. 開發人員使用什麼ORM連接到Azure?
- 28. 爲什麼MVC4項目會員數據庫表'會員'而不是'aspnet_Membership'?
- 29. 開發人員的元數據要求
- 30. 爲什麼一些asp.net開發人員會對ConnectionStrings進行加密?
您是否問DBA應該學習LINQ?或者這個數據庫人員也是開發人員? – Kinze 2009-07-31 17:00:40