91在线一级黄片|91视频在线观看18|成人夜间呦呦网站|91资源欧美日韩超碰|久久最新免费精品视频一区二区三区|国产探花视频在线观看|黄片真人免费三级片毛片|国产人无码视频在线|精品成人影视无码三区|久久视频爱久久免费精品

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
LINQ嵌套查詢實現(xiàn)淺析

LINQ嵌套查詢是如何實現(xiàn)的呢?那么下面我們看看具體的操作是怎么樣的,它對于我們的實際開發(fā)實踐有什么幫助,那么讓我們開始吧。

成都創(chuàng)新互聯(lián)公司主要從事網(wǎng)站建設、成都網(wǎng)站設計、網(wǎng)頁設計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務。立足成都服務蘭考,10余年網(wǎng)站建設經(jīng)驗,價格優(yōu)惠、服務專業(yè),歡迎來電咨詢建站服務:13518219792

LINQ嵌套查詢應用實例:

如果我們需要取出市場部的所有員工,在以往的O/R Mapping框架中,往往需要取兩次(我們不考慮存在映射關系的情況),一次是取出市場部的編號,再使用編號來取出所有員工。LINQ給我們提供了更好的解決辦法,我們可以這樣操作:

 
 
 
  1. var query = from employee in dbdata.Employees   
  2. where employee.DepId ==  
  3.  
  4. (from department in dbdata.Departments   
  5. where department.DepName == "市場部" 
  6.  
  7.  select department ).Single().DepId  
  8.  
  9. select employee;  

這里我們使用了嵌套查詢來完成,這句話在執(zhí)行的時候,LINQ嵌套查詢被轉換成了SQL的嵌套查詢:

 
 
 
  1. SELECT [t0].[EmployeeId], [t0].[DepId],   
  2. [t0].[EmployeeName], [t0].[EmployeeSalary]   
  3. FROM [dbo].[Employee] AS [t0]   
  4. WHERE [t0].[DepId] = (  
  5. SELECT [t1].[DepId] FROM [dbo].[Department] AS [t1]   
  6. WHERE [t1].[DepName] = @p0) 

當然,在這里,我們不必那么麻煩,只需要使用已經(jīng)存在的實體關系,就可以輕松的完成:

 
 
 
  1. var query = from employee in dbdata.Employees   
  2. where employee.Department.DepName == "市場部" 
  3.  
  4. select employee;  

不過,這和剛才的查詢卻有本質的差別,我們來看看這里,LINQ轉換成什么樣的SQL語句了:

 
 
 
  1. SELECT [t0].[EmployeeId], [t0].[DepId],   
  2. [t0].[EmployeeName], [t0].[EmployeeSalary]  
  3.  FROM [dbo].[Employee] AS [t0] LEFT OUTER JOIN [dbo].  
  4. [Department] AS [t1] ON [t1].[DepId] = [t0].[DepId]   
  5. WHERE [t1].[DepName] = @p0 

這里,轉換出來的并不是嵌套的SQL語句,而被轉換成了左連接查詢,可以看出,嵌套查詢是我們在特殊的情況下,可以使用的一個利器。

LINQ嵌套查詢的基本內容就向你介紹到這里,希望對你了解和學習LINQ嵌套查詢有所幫助。


分享文章:LINQ嵌套查詢實現(xiàn)淺析
本文鏈接:http://m.jiaoqi3.com/article/copopgg.html