成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

LINQ to SQL查詢分析

開發 后端
這里介紹LINQ to SQL查詢將返回所有來自倫敦的定義于 Customers 表中的客戶。它被定義為查詢表達式語法,編譯器將把它編譯為清晰的方法調用語法。

在向大家詳細介紹LINQ to SQL查詢之前,首先讓大家了解下LINQ to SQL查詢數據庫中的數據,然后全面介紹LINQ to SQL查詢。

LINQ to SQL查詢數據庫中的數據

1. 雖然數據連接已經被確定并建立,但事實上,在一個查詢被執行之前,沒有任何數據會被接收。這被稱為 lazy(遲緩的)加載或者是 deferred evaluation.(延遲執行),它們在大部分場景中將提高效率。下面代碼所包含的查詢將尋找倫敦的客戶:

  1. Sub Main()  
  2. '使用標準的數據連接字符串  
  3. Dim db As DataContext  
  4. db = New DataContext("Data Source=."sqlexpress; Initial Catalog=Northwind")  
  5. '獲取一個用于進行強類型查詢的 Table 對象  
  6. Dim Customers As Table(Of Customer)  
  7. Customers = db.GetTable(Of Customer)()  
  8. '將包含具體 SQL 的,LINQ to SQL 生成的日志顯示到控制臺窗口  
  9. '這僅僅用于調試或理解Linq to Sql是如何工作的  
  10. db.Log = Console.Out  
  11. '查詢倫敦的客戶  
  12. Dim custs = From customer In Customers _  
  13. Where customer.City = "London" _  
  14. Select customer  
  15. End Sub 

這個LINQ to SQL查詢將返回所有來自倫敦的定義于 Customers 表中的客戶。它被定義為查詢表達式語法,編譯器將把它編譯為清晰的方法調用語法。同時請注意到,custs 集合的類型并沒有被定義,這是一個非常便利的 Visual Basic 9.0 特性,它將允許你依靠編譯器推斷集合數據類型。特別是當查詢將返回一個復合的多屬性類型時,這將是一個尤其有用的特性,編譯器將自動推斷實際的類型而不需要額外的定義操作。

2. 增加下列代碼以執行并輸出結果:

  1. Sub Main()  
  2. '使用標準的數據連接字符串  
  3. Dim db As DataContext  
  4. db = New DataContext("Data Source=."sqlexpress; Initial Catalog=Northwind")  
  5. '獲取一個用于進行強類型查詢的 Table 對象  
  6. Dim Customers As Table(Of Customer)  
  7. Customers = db.GetTable(Of Customer)()  
  8. '將包含具體 SQL 的,LINQ to SQL 生成的日志顯示到控制臺窗口  
  9. '這僅僅用于調試或理解Linq to Sql 是如何工作的  
  10. db.Log = Console.Out  
  11. 'Query for customers in London  
  12. Dim custs = From customer In Customers _  
  13. Where customer.City = "London" _  
  14. Select customer  
  15. For Each cust In custs  
  16. Console.WriteLine("ID={0}, City={1}", cust.CustomerID, cust.City)  
  17. Next  
  18. Console.ReadLine()  
  19. End Sub 

這些LINQ to SQL查詢將僅僅在代碼需要獲取實際數據時才被執行。在那一時刻,一條相應的 SQL 命令被執行并且建立了相應的對象。這個概念被稱之為“延遲執行”,它使查詢能夠冷靜地評估并僅當需要結果的情況下才執行 SQL 命令——當即執行將有大量的往返損耗與不必要的對象化開銷。

3. 按下F5以調試整個解決方案

4. 按下 ENTER,退出該程序。

調用 Console.ReadLine 方法的目的是防止控制臺窗口在執行完畢后立即消失。在以后的步驟中,這一步并不一定都需要。

你將會看到像這個窗口一樣的控制臺窗口:
屏幕上的第一個部分展示了 Linq 生成并發送 SQL 命令到數據庫的全過程。緊接著,你可以看到我們的查詢返回的數據。需要注意的是,從數據庫中接收的行將被轉換為“真正的” CLR 對象,這將在調試器中被證實。

【編輯推薦】

  1. Linq匿名委托類型
  2. Linq異常處理詳細介紹
  3. Linq Setting字段描述
  4. Linq數據和對象淺談
  5. Linq內部執行原理剖析
責任編輯:佚名 來源: 博客園
相關推薦

2009-09-14 10:09:26

LINQ查詢結果

2009-09-08 13:16:01

Linq to SQL

2009-09-09 18:03:47

LINQ to SQL

2009-09-18 14:33:37

LINQ to SQLSQL命令

2009-09-15 14:58:26

Linq查詢本質

2009-09-17 16:46:34

Linq to sql

2009-09-18 15:15:12

LINQ to SQL

2009-09-17 18:05:15

linq to sql

2009-09-16 10:48:32

LINQ查詢操作

2009-09-16 15:41:45

LINQ查詢XML文檔

2009-09-18 16:46:15

LINQ查詢句法

2009-09-14 18:53:27

LINQ查詢

2009-09-17 17:03:13

LINQ動態查詢

2009-09-14 17:03:32

LINQ模糊查詢

2009-09-08 14:34:42

Linq to SQL

2009-09-17 16:20:43

Linq to sql

2009-09-17 08:47:00

Linq查詢

2009-09-16 09:23:14

LINQ To SQL

2009-09-08 14:45:24

Linq to SQL支持SQL Serve

2009-09-09 16:53:53

LINQ查詢語法
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: a级在线免费 | 欧美成人精品欧美一级 | 一级a性色生活片久久毛片 午夜精品在线观看 | a久久久久久 | 欧美亚洲一区二区三区 | 色视频在线播放 | 成人黄色电影在线观看 | 欧美日韩午夜精品 | 欧美性猛片aaaaaaa做受 | 成人午夜视频在线观看 | 成人在线免费视频观看 | 国产一级黄色网 | 国产精品夜夜夜一区二区三区尤 | 成人精品在线视频 | 精品国产99 | 欧美日韩精品一区二区三区视频 | 久久精品 | 6080亚洲精品一区二区 | 国产高清视频一区 | 亚洲狠狠 | 午夜性色a√在线视频观看9 | 综合色站导航 | 精品一区二区三区在线观看 | 久久国产精品亚洲 | 天天操综合网 | 黑人一级片视频 | 韩国精品一区二区三区 | 一区欧美 | 国产日韩欧美二区 | 国产精品99久久久久久动医院 | 天堂影院av | 国产7777| 美美女高清毛片视频免费观看 | 免费不卡视频 | 国产一区二区视频在线 | 日韩欧美国产精品一区二区三区 | 久草欧美视频 | 亚洲国产成人精品久久 | av片免费观看 | 91精品国产色综合久久不卡蜜臀 | 欧美成人精品在线 |