asp.net mvc結合linq,先不說性能問題,對於增刪查改的操做仍是至關方便的。如下咱們就來介紹一下linq在asp.net mvc的Controller中的常見用法。數據庫
1 首先來看看整個數據表,共有3個表,要訪問這個數據庫,得有一個代理,這個代理就是edmx文件中繼承類DbContext的AllTestEntitiesmvc
2 實體代理,能夠直接在Controller中聲明,而且數據庫中對應的表,能夠無縫對接;使用時,聲明一個變量db,而後使用時,要訪問相應表或視圖,能夠直接使用db.Domains(在使用Entity Framework進行對象關係映射時,能夠選擇是否啓用複數形式,通常咱們會選上,習慣上覆制是數據表,單數是類)asp.net
3 來看一個常見的linq查詢,這個查詢的是名稱包含ab的、後綴是.com的域名,而且先按建立時間倒序排列,再按名稱順序排列,最終封裝成List,強制返回全部記錄性能
4 你能夠寫好幾個Where子句,也能夠合在一塊兒寫(使用&&鏈接起拉姆達表達式),而後你能夠排序,最終再封裝,它走是一個傳送帶的流程,第一個where結束了,傳到第二個傳送帶篩選,第二個傳送帶結束了,傳送到第三個傳送帶排序,依此類推;另外,之因此能夠這樣作,還取決於linq中的一個延遲查詢的概念,之後會專門作一個解釋,如今先簡單介紹和使用。學習
5 除了Where以及排序,還有Include(),Entity Framework在關係映射時,通常會在類中包含外鍵列,而Include就是來判斷外鍵是否爲空的,不空則返回,不然過濾掉;圖示中返回有後綴且有建立用戶的域名.net
6 能夠進行統計,統計域名中包含ab的個數3d
7 取出一個符合條件的記錄;示例都是取出一條記錄,其中帶OrDefault,當沒有符合的記錄時,則返回null,不帶OrDefault,則當沒有記錄時報錯;至於SingleOrDefault()和Single()則當符合條件的記錄大於2時,報錯,這樣以保證記錄的惟一性代理
8 還能夠根據id來直接查詢記錄,固然,不要忘記判斷是否爲空對象
9 最後還介紹一種拉鍊,Zip(),它能夠把兩個列表的內容對應粘合在一塊兒,成爲a1,b2,c3的列表blog
10 linq的常見用法就介紹到這裏,祝您學習愉快!
本人原創,轉載請註明出處,更佳視覺排版請移步:http://t.cn/R7jFy5t