1. 程式人生 > >Linq入門——什麼是linq & 擴充套件方法

Linq入門——什麼是linq & 擴充套件方法

 一,什麼是Linq

       

     linq(language integrated Query):語言整合查詢;

     linq包含如下:

     

    對物件的查詢,對資料庫的查詢,對XML的查詢。

      那麼,沒有linq前我們是怎樣查詢的?

          先看一個例子:

         現在我們要查詢大於50的數,:

         在沒有linq之前,我們的程式碼時這樣的:

        

          使用了linq查詢:

         

            首先,從直觀上看,程式碼更加簡潔,其次,對於查詢部分,接近SQL語句,層次清晰,容易理解;

            除了簡單高效以為,LINQ的出現解決了很多問題:

                1,面向物件與資料訪問兩個領域長期分裂,各自為政的問題:比如,在面向物件中,對於物件中資料的訪問,我們用“物件名稱.屬性名”就可以,但是在資料訪問領域,我們要從資料庫中查詢資料的時候,用的確實SQL語句,比如select * from table.

              2,程式語言中的資料型別與資料庫中的資料型別形成兩套體系;

                        例如,程式語言中字串string, 但是資料庫中可以用很多型別代表字元,如:char,nvchar,vchar

             3,SQL編碼體驗落後

                        SQL語句只有執行時才會發現錯誤,不能在寫程式碼的時候發現語法錯誤,我們要除錯SQL語句,只能放到查詢分析器裡面進行單獨除錯;

             4,SQL和XML都有各自的查詢語言,而物件沒有自己的查詢語言

                         對於陣列和結合的查詢只能遍歷進行,不像SQL和XML那麼簡單;

     二,擴充套件方法

                         首先,擴充套件方法是對現有的類提供額外的方法,來擴充套件類的功能;

                其次,Linq基於擴充套件方法;

              示例:

                       需要注意的是,擴充套件方法中this後面指定了此方法針對的型別。

                         後續將涉及到linq深入探索,本人初學者,請多多關照。害羞